1

目前我有一个使用 jQuery 和 的拖放解决方案FileReader,它适用于 Chrome 和 Firefox。我使用readAsDataURL获取要上传的图像的数据 URI,然后将数据 POST 到 PHP 以作为文件写入服务器上。

我已经大大压缩了我的代码,但过程如下所示:

this.bind('drop', function(evt) {
    evt.preventDefault();
    evt.stopPropagation();

    var files = evt.originalEvent.dataTransfer.files;
    var file = files[0];
    var reader = new FileReader();

    reader.readAsDataURL(file);
});

然后我有一个单独的函数调用$.ajaxPOST 数据 URI。我还检查了可以支持的浏览器FileReader

$.fn.initUpload = function() {
    return (window.FileReader) ? this.initDnD() : this.addClass('disabled');
}

哪里initDnD()有前面的例子。

对于这.disabled门课,我正在<input type="file" />使用 Safari/IE。有什么方法可以获取用户选择的文件并立即将其转换为 Safari/IE 上的数据 URI?我之所以这么问,是因为我宁愿重用我的 PHP 脚本,它将数据 URI 保存为图像。

4

0 回答 0