2016-05-26 6 views
0

Ich habe etwas Code zum Hochladen von Dateien geschrieben. Auf dem lokalen Computer erhalte ich Erfolg, aber es endet mit einem Fehler auf dem Server. Hier ist mein Ajax-Code:Ajax Erfolg auf lokaler Fehler auf Server

$.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)"); 
      } 
     }); 

Es lädt die Datei aber mit Fehler enden.

C# -Code für alle Fälle:

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); 
    } 

Antwort

0

Welche Fehler?

  • prüfen file.ContentLength> 0.

  • JsonRequestBehavior.AllowGet entfernen, weil Sie Ajax POST verwenden.

  • Pfaddatei prüfen. Sollte Server.MapPath verwenden (Path.Combine (BuffUploadPath, Dateiname))

+0

1) Ich habe überprüft File.ContentLength> 0. Es ist wahr. 2) Ich habe sonRequestBehavior.AllowGet entfernt 3) Ich habe Server.MapPath (Path.Combine (BuffUploadPath, Dateiname)) anstelle von Server.MapPath (BuffUploadPath) + fileName Immer noch Fehler –

0

Dieser Code funktioniert einwandfrei. Problem war nicht im Code. Ich habe das Problem gelöst

Verwandte Themen