(...)Dateien und Daten-Upload ohne Form und mit Formdata jquery und asp.net
EDIT:
// Client-Seite
var $elem = $("a.attachMessageBtn");
var evtOnClick = $elem.attr('onclick');
var postData = new FormData();
postData.append("FID", FID);
postData.append("messageText", messageToSend);
for (var i = 0; i < files.length; i++)
{
postData.append(files[i].name, files[i]);
}
$.ajax(
{
url: ajaxUrl + "?a=setNewMessage",
type: "POST",
data: postData,
cache: false,
processData: false,
contentType: false,
forceSync: false,
enctype: "multipart/form-data",
beforeSend: function (jqXHR, settings)
{
// Something being done here.
},
success: function (data, textStatus, jqXHR)
{
// Something being done here.
},
error: function (jqXHR, textStatus, errorThrown)
{
// Something being done here.
},
complete: function (jqXHR, textStatus)
{
// Something being done here.
}
});
// Server-Seite
string sMessageText = Request.Form["messageText"];
int nFID = 0;
if (!string.IsNullOrEmpty(sMessageText) && int.TryParse(Request.Form["fid"] + "", out nFID))
{
if (Request.Files != null)
{
int nFilesCount = Request.Files.Count;
if (nFilesCount > 0 && nFilesCount <= 3)
{
foreach (string file in Request.Files)
{
// Specific code here that has always been working.
}
}
}
}
EDIT 2
OK, endlich zu den Dateien und den Daten, aber jetzt habe ich wieder ein Problem mit der Schleife der Nachricht konfrontiert.
Angenommen, ich habe eine Nachricht mit einem Anhang gesendet; dann sende ich eine andere Nachricht mit z.B. 2 Anhängen -> diese zweite Nachricht wird zweimal gesendet; dann sende ich eine weitere Nachricht, unabhängig von der Anzahl der Anhänge -> es wird 3 mal gesendet.
Wie kann ich das lösen, da der Code, den ich habe, der obige ist?
Irgendwelche Hilfe, bitte?
Vielen Dank im Voraus.
funktioniert es in Mobile? In meinem Fall funktioniert es gut im Desktop, aber nicht im mobilen Browser. –