0

これは私のJavaScriptコードです:

var fileURL = "file://" + mFileListURL[0].fullPath;
var options = new FileUploadOptions();
options.fileKey = "recFile";
var imagefilename = Number(new Date()) + ".jpg";
options.fileName = imagefilename;
options.mimeType = "image/jpeg";    
var params = new Object();      
options.params = params;

var ft = new FileTransfer();
ft.upload(fileURL,"http://mywebserver/UploadFoto.asmx/SaveImage",
                function(r) {
                    alert("It's OK!");
                    alert("Response = " + r.response);

                }, function(error) {
                    alert("An error has occurred: Code = "
                            + error.code);
                }, options);

そして、このサーバー側のコード:

        [WebMethod]
        [GenerateScriptType(typeof(String))]
        [ScriptMethod]
        public String SaveImage()
        {
            HttpContext context = HttpContext.Current;
            if (context.Request.Files.Count > 0)
            {
                HttpFileCollection files = context.Request.Files;
                foreach (string key in files)
                {
                    HttpPostedFile file = files[key];
                    string fileName = file.FileName;
                    if (fileName != null && fileName != "")
                    {                        
                        String fileStored = System.IO.Path.Combine(context.Server.MapPath("~/public/"), fileName);                           
                        file.SaveAs(fileStored);                       
                    }
                }
            }            
            return "Filestored OK";
        }

これで、画像のアップロードは完了しましたが、返された文字列、サーバーからの応答、エラー コードはありません。Json 応答も使用しましたが、何も使用しませんでした (画像がアップロードされ、応答がなく、文字列が返されません)。どうしたの?

ありがとう。イングディ

4

2 に答える 2

0

Web メソッドは静的である必要があります

[WebMethod]
        [GenerateScriptType(typeof(String))]
        [ScriptMethod]
        public static String SaveImage()
        {
            HttpContext context = HttpContext.Current;
            if (context.Request.Files.Count > 0)
            {
                HttpFileCollection files = context.Request.Files;
                foreach (string key in files)
                {
                    HttpPostedFile file = files[key];
                    string fileName = file.FileName;
                    if (fileName != null && fileName != "")
                    {                        
                        String fileStored = System.IO.Path.Combine(context.Server.MapPath("~/public/"), fileName);                           
                        file.SaveAs(fileStored);                       
                    }
                }
            }            
            return "Filestored OK";
        }
于 2015-04-20T12:49:49.830 に答える
0

これを試して

function(r) 
{
  alert("It's OK!");
  alert("Sent = " + r.bytesSent);
}
于 2014-04-23T07:13:11.443 に答える