我正在使用ajax文件上传控件。
正在创建这个html:
<form action="/pages/handlers/asyncfileuploadhandler.ashx" method="POST" enctype="multipart/form-data" target="ajaxUploader-iframe-1397144545">
<input type="hidden" name="type" value="mindvoice">
<input type="file" id="imageFile" style="display: block; width: 80%; margin-right: auto; margin-left: auto;">
</form>
目标是:
<iframe width="0" height="0" style="display:none;" name="ajaxUploader-iframe-1397144545" id="ajaxUploader-iframe-1397144545"></iframe>
表单使用.submit()
提交。
我的ashx处理程序:
<%@ WebHandler Language="C#" Class="AsyncFileUploadHandler" %>
using System;
using System.Web;
using Nettpals.Core;
public class AsyncFileUploadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var file = context.Request.Files[0]; // ArgumentOutOfBoundException
}
public bool IsReusable
{
get
{
return false;
}
}
}
我不知道如何处理该文件。
我正在使用jquery ajaxfileupload
那么我该怎么办才能抓住这个文件?
答案 0 :(得分:1)
最后它奏效了。刚刚向name
添加了<input type="file">
属性,它运行正常。
答案 1 :(得分:0)
HTML:
<input type="file" id="uploadFile" name="uploadFile"/>
<input type="button" id="submit" value="Submit" onClick="UploadFile();"/>
的JQuery:
<script type="text/javascript">
$(document).ready(function () {
function UploadFile() {
var fileName = $('#uploadFile').val().replace(/.*(\/|\\)/, '');
if (fileName != "") {
$.ajaxFileUpload({ url: 'AjaxFileUploader.ashx',
secureuri: false,
fileElementId: 'uploadFile',
dataType: 'json',
success: function (data, status) {
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert('Success');
}
}
},
error: function (data, status, e) {
alert(e);
}
}
)
}
}
});
</script>
如需进一步参考,请参阅以下链接。