télécharger le fichier à l'aide de jquery et de gestionnaire(ashx)
Je suis en train de télécharger un fichier à l'aide de jquery ajax avec gestionnaire (c#). Le problème c'est que quand je l'appel du gestionnaire-je obtenir
context.Request.File.Count=0
Voici le code aspx:
<!--aspx file code-->
<script language="javascript" type="text/javascript">
$().ready(function ()
{
$('#save').click(function (e)
{
CalluploaderHandler();
});
});
function CalluploaderHandler()
{
$.ajax({
type: "POST",
url: "Services/UPloader.ashx",
contentType: "application/json; charset=utf-8",
success: OnComplete,
error: OnFail
});
return false;
}
function OnComplete(result)
{
alert('Success');
}
function OnFail(result)
{
alert('Request failed');
}
</script>
</head>
<body>
<form enctype="multipart/form-data">
<label for="file">
Filename:</label>
<input name="file" id="file" type="file">
<input id="save" name="submit" value="Submit" type="submit">
</form>
</body>
</html>
Le code c# de gestionnaire:
/* handler*/
public void ProcessRequest(HttpContext context)
{
string savedFileName = "";
foreach (string file in context.Request.Files)
{
HttpPostedFile hpf = context.Request.Files[file] as HttpPostedFile;
if (hpf.ContentLength == 0)
continue;
//savedFileName = context.Server.MapPath(Path.GetFileName(hpf.FileName));
//hpf.SaveAs(savedFileName);
}
context.Response.Write(savedFileName);
}
Avez-vous été en mesure d'obtenir ce travail?
OriginalL'auteur user1092626 | 2011-12-11
Vous devez vous connecter pour publier un commentaire.
je pense que le problème est avec le
contentType
essayerOU
voir ce post pour plus d'informations
Envoi multipart/formdata avec jQuery.ajax
OriginalL'auteur Rafay
Vous pouvez ajouter ce type de code dans le gestionnaire de fichier. Ensuite, vous pouvez poster à cette url(whateverroot/yourhandler.ashx)
Le type de contenu doit être "multipart/form-data".
Pour exemple:
Si vous êtes à l'aide d'un formulaire HTML, balise, puis enctype="multipart/form-data".
OriginalL'auteur Venugopal M