最近转战MVC项目,然后又再次遇到照片上传的实现,之前都是使用ASP.NET,虽然也有照片上传,而且出于客户体验考虑,
也实现了选择本地照片之后即时显示在IMG中,在这里就简单介绍其实现(ASP.NET),代码就不再写了
    //读取图片并显示到img
    function readFile() {
        var file = this.files[0];
        if (!/image\/\w+/.test(file.type)) {
            alert("文件必须为图片!");
            return false;
        }
        var reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function (e) {
            $("#ComPic").attr("src", this.result);
        }
    }
    $(function () {
        var input = document.getElementById("fileToUpload");
        //先判断浏览器是否支持FileReader
        //浏览器不支持时则选择照片的的标签被禁用
        if (typeof FileReader === 'undefined') {
            alert("抱歉,你的浏览器不支持 FileReader");
            input.setAttribute('disabled', 'disabled');
        } else {
            input.addEventListener('change', readFile, false);
        }
    });
var fileObj = document.getElementById("fileToUpload").files;
var FileController = "/Member/Shop/UpLoadIMG" + "?PicName=" + picName + "&PicType=" + picType;
var form = new FormData();
 for (var i = 0; i < fileObj.length; i++)
             form.append("file" + i, fileObj[i]);
 var xhr = new XMLHttpRequest();
 xhr.open("post", FileController, true);
 xhr.onload = function () {
              if (xhr.status == 200 && xhr.responseText == "1") {
                        alert("图片上传成功!");
                      
               } else {
                      //图片上传异常时返回的信息
                        alert(xhr.responseText);
                    }
                };
                xhr.send(form);