Jquery 使用IE/Safari将图像上载为数据URI
目前我有一个使用jQuery和Jquery 使用IE/Safari将图像上载为数据URI,jquery,filereader,data-uri,Jquery,Filereader,Data Uri,目前我有一个使用jQuery和FileReader的拖放解决方案,它可以与Chrome和Firefox一起使用。我使用readAsDataURL获取要上传的图像的数据URI,然后将数据发布到PHP,作为服务器上的文件写入 我已经大量压缩了代码,但过程如下所示: this.bind('drop', function(evt) { evt.preventDefault(); evt.stopPropagation(); var files = evt.originalEve
FileReader
的拖放解决方案,它可以与Chrome和Firefox一起使用。我使用readAsDataURL
获取要上传的图像的数据URI,然后将数据发布到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);
});
然后,我有一个单独的函数调用$.ajax
来发布数据URI。
我还检查了支持FileReader
的浏览器:
$.fn.initUpload = function() {
return (window.FileReader) ? this.initDnD() : this.addClass('disabled');
}
其中initDnD()
有前面的示例
对于禁用的
.disabled
类,我使用的是Safari/IE的
。是否有任何方法可以获取用户选择的文件并立即将其转换为Safari/IE上的数据URI?我之所以问这个问题,是因为我更愿意重用将数据URI保存为图像的PHP脚本。快速浏览MDN,就会发现safari和IE8支持这一点。虽然我不能很快地为您分解一些代码,但他们已经创建了一些代码,这些代码应该可以指导您完成工作所需的步骤。独立示例没有链接到任何演练?它显示您可以将文件发布到某个对象并检索数据URI,但这需要页面转换;有什么方法可以异步实现这一点吗?当然,通过使用AJAX。问题是我不能发送文件的帖子,我需要先将它们转换为数据URI。上面的示例似乎需要将文件上载到服务器,然后接收数据URI。我试图绕过典型的上传过程,因为我试图异步上传这些文件。