我正在尝试在服务器上上传一个 zip 文件,在那里解压缩并将文件名返回给客户端。
代码:
<form id="frmUpload" action="UploadHandler.ashx" method="post">
<input id="fileUpload" name="fileToUpload" type="file" accept=".zip"/>
<input id="btnUpload" type="submit" value="Submit" />
</form>
服务器代码:
public void ProcessRequest (HttpContext context)
{
var uploadedFile=context.Request.Files["fileToUpload"];
//uploadedFile is then unzipped, filenames are extracted and put in a string
// filenames="a,b,c";
context.Response.Write(filenames);
}
我想在客户端有一个回调函数,我可以访问它。
我尝试了第二种方法:
$("#frmUpload").submit(function (evt) {
// evt.preventDefault();
//var data = $("#frmUpload")[0].serialize(); // returning empty string
var form = $("#frmUpload")[0];
var file = form["fileToUpload"].value;
$.ajax({
type: "POST",
url: "UploadHandler.ashx",
data: "file="+file,
success: function (result, status, respObj) {
alert(result);
}
});
})
但是,在这种情况下,成功回调正在执行,在服务器上我没有文件对象,因为传递给服务器的数据只是 zip 文件的路径。如何将文件对象传递给服务器?
谢谢