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