gpt4 book ai didi

jquery - 使用 jquery 和 handler(ashx) 上传文件

转载 作者:行者123 更新时间:2023-12-03 22:27:00 25 4
gpt4 key购买 nike

我正在尝试使用 jquery ajax 和处理程序 (c#) 上传文件。问题是,当我调用处理程序时,我得到

context.Request.File.Count=0

这是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>

C# 代码处理程序:

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

最佳答案

我认为问题出在contentType尝试

contentType: 'multipart/form-data',

或者

contentType :'application/octet-stream';

查看这篇文章了解更多信息

Sending multipart/formdata with jQuery.ajax

关于jquery - 使用 jquery 和 handler(ashx) 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8466941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com