2016-05-26 6 views
0

ファイルをアップロードするコードを書きました。ローカルコンピュータでは正常に受信されますが、サーバーでエラーが発生して終了します。ここに私のアヤックスコードがあります:サーバーのローカルエラーでAjaxが成功しました

$.ajax({ 
      url: '@Url.Action("StartUpload", "Upload")' /*'/Upload/StartUpload'*/, 
      type: 'POST', 
      data: formdata, 
      dataType: 'json', 
      contentType: false, 
      processData: false, 
      success: function (data) { 
       for (i = 0; i < data.length; i++) { 
        if (data[i].startsWith("Success")) 
         newAlert('success', data[i] + " Məlumatlari yuklenildi"); 
        else 
         newAlert('danger', data[i] + " - Uğursuz nəticələndi"); 
       } 
      }, 
      error: function (jqXHR) { 
       newAlert('danger', jqXHR.statusText + " - Uğursuz nəticələndi (err)"); 
      } 
     }); 

ファイルをアップロードしますが、エラーで終了します。念のため

C#コード:

public JsonResult StartUpload() 
    { 
     ArrayList Act_Result = new ArrayList(); 

     //var pathS = Links.GetLinks(); 
     //string BuffUploadPath = "~\\BuffUpload\\"; 

     for (int i = 0; i < Request.Files.Count; i++) 
     { 
      HttpPostedFileBase file = Request.Files[i]; //Uploaded file 
      //Use the following properties to get file's name, size and MIMEType 
      int fileSize = file.ContentLength; 
      string fileName = file.FileName; 
      string mimeType = file.ContentType; 
      System.IO.Stream fileContent = file.InputStream; 


      file.SaveAs(Server.MapPath(BuffUploadPath) + fileName); //File will be saved in application root 
      Act_Result.Add("Success - Server buffere upload edildi. " + BuffUploadPath);   

     } 

     if (Act_Result.Count == 0) 
      Act_Result.Add("Hec ne icra edilmedi"); 


     return Json(Act_Result, JsonRequestBehavior.AllowGet); 
    } 

答えて

0

どのようなエラー?

  • チェックfile.ContentLength> 0

  • あなたはAJAX POSTを使用しているためJsonRequestBehavior.AllowGetを削除します。

  • パスの保存ファイルを確認してください。 Server.MapPathを使用する必要があります(Path.Combine(BuffUploadPath、fileName))

+0

1)私はfile.ContentLength> 0をチェックしました。それは本当です。 2)私はsonRequestBehavior.AllowGetを削除しました Server.MapPath(BuffUploadPath)+ fileNameの代わりにServer.MapPath(Path.Combine(BuffUploadPath、fileName))を使用しました まだエラーがあります –

0

このコードは正常に動作します。問題はコードではありませんでした。私は問題を解決しました

関連する問題