需求场景:需要用户上传一张照片,返回给用户一个唯一的结果,比如测试类网页你拥有哪种女人气质?(移动端)
其实这种需求(不需要保存图片)的话,只需要在本地处理图片即可,不需要将图片上传到服务器。计算图片的md5值可以确保唯一性。
针对这个需求,可以使用HTML5 file api来读取文件。实现方法如下:

document.getElementById("file").addEventListener("change", function() {
    var fileReader = new FileReader(), box = document.getElementById('box'),
    //创建md5对象(基于SparkMD5)
    spark = new SparkMD5();
    //每块文件读取完毕之后的处理
    fileReader.onload = function(e) {
        console.log("finished loading");
        $('#box').append('<img src="'+e.target.result+'">');
        console.info("计算的Hash", spark.end());
    };
});

demo:
http://jsbin.com/zoputihuqe/edit?html,css,js,output

JS Bin on jsbin.com<script src="http://static.jsbin.com/js/embed.min.js?3.36.10"></script>

之前做的一个活动页面,上传照片测气质,只在本地操作图片,并根据MD5值返回唯一结果:

clipboard.png


朕知道了
302 声望10 粉丝

加油加油加油