我正在尝试使用 jQuery AJAX 和通用处理程序上传图像文件。但似乎该文件没有被传递给处理程序。提交后context.Request.Files[0];始终为空:-/
我究竟做错了什么?
HTML:
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
    <input name="file" id="file" type="file" />
    <input id="save" name="submit" value="Submit" type="submit" />
</form>
JS:
$().ready(function ()
{
    $('#file').change(function () 
    {
        sendFile(this.files[0]);
    });
});
function sendFile(file) 
{
    $.ajax({
        type: 'post',
        url: 'FileUpload.ashx',
        data: file,
        success: function () {
            // do something
        },
        xhrFields:
        {
            onprogress: function (progress) 
            {
                // calculate upload progress
                var percentage = Math.floor((progress.total / progress.totalSize) * 100);
                // log upload progress to console
                console.log('progress', percentage);
                if (percentage === 100) {
                    console.log('DONE!');
                }
            }
        },
        processData: false,
        contentType: 'multipart/form-data'
    });
}
阿什克斯:
public void ProcessRequest (HttpContext context) 
{
    HttpPostedFile file = context.Request.Files[0];
    if (file.ContentLength > 0)
    {
        //do something
    }
}