日期:2014-05-16  浏览次数:20653 次

jQuery上传图片。
Html:
<input type="file" id="user_face" name="user_face" />
<input type="button" value="上传" onclick="upLoadImg()" />

jQuery:
function upLoadImg()
{            
    $.ajax({
        type:"post",
        url:"@Url.Action("UpLoadImage", "AdminUser")",
        data:{ imgPath:$("#user_face").val() },
        mimeType:"multipart/form-data",
        processData:false,
        dataType: 'json',
        success: function (result) {
            if (result != null) {
                alert("上传成功!");
            }
            else {
                alert("上传失败~~");
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.responseText); ;
        }
    });
}

后台是用MVC:
public JsonResult UpLoadImage()
{
            if (Request.Files.Count == 0)  //这里始终是0,不知道为什么获取不到
            {
                Response.Write("上传文件失败,文件不存在!");
                return null;
            }

            HttpFileCollectionBase files = Request.Files;
            Stream fs = files[0].InputStream;
            ...
}

后台获取不到上传的文件。

------解决方案--------------------
ajax不支持文件上传。
------解决方案--------------------
可以考虑 jquery + swfupload