jquery或ashx无法正常工作

时间:2014-04-10 15:52:14

标签: javascript jquery ashx

我正在使用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

那么我该怎么办才能抓住这个文件?

2 个答案:

答案 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>

如需进一步参考,请参阅以下链接。

File Upload Without Using Any Asp Controls