jjzjj

HTML5 File API 从服务器下载文件并将其保存在沙箱中

我正在尝试理解HTML5API。我正在设计浏览器客户端需要从服务器下载多个文件的Web应用程序;用户将对下载的文件和应用程序执行某些操作,而不是将状态保存在用户硬盘上。我知道浏览器只能将这些文件保存到它的沙箱中,只要用户可以在他第二次启动应用程序时检索这些文件就可以了。我应该使用BlobBuilder还是FileSaver?我在这里有点迷路。 最佳答案 我将向您展示如何使用XMLHttpRequestLevel2下载文件并用FileSystemAPI保存它们或使用FileSaverinterface.##下载文件##要下载文件,您将

html - 将文件上传选择限制为特定类型

无论如何通过来限制文件类型的选择元素?例如,如果我只想上传图像类型,我会将可能的选择限制为(image/jpg,image/gif,image/png),并且选择对话框会将其他mime类型的文件灰显。附注我知道我可以在事后通过扫描.type属性使用文件API来执行此操作。我真的想事先限制这一点。我也知道我可以通过闪光灯做到这一点,但我不想为此使用闪光灯。 最佳答案 有一个用于此特定目的的html属性称为accept但它几乎没有跨浏览器的支持。因此建议改为使用服务器端验证。如果您无法访问后端,请查看基于闪存的解决方案,例如SWFUpl

html - 将文件上传选择限制为特定类型

无论如何通过来限制文件类型的选择元素?例如,如果我只想上传图像类型,我会将可能的选择限制为(image/jpg,image/gif,image/png),并且选择对话框会将其他mime类型的文件灰显。附注我知道我可以在事后通过扫描.type属性使用文件API来执行此操作。我真的想事先限制这一点。我也知道我可以通过闪光灯做到这一点,但我不想为此使用闪光灯。 最佳答案 有一个用于此特定目的的html属性称为accept但它几乎没有跨浏览器的支持。因此建议改为使用服务器端验证。如果您无法访问后端,请查看基于闪存的解决方案,例如SWFUpl

javascript - IE 8/9 中 FormData 的回退

FormData在IE8/9中不存在,但我需要在这些浏览器中使用该功能。这有很好的回退吗?我会尝试发送json数据,但我需要将文件传递给服务器。我将此文件附加到现代浏览器中的formData并提交一个XHR请求。因为FormData在IE8/9中不存在,这显然失败了。//Icantseemtogetthistoworkwithafile.$.ajax({url:'/genericHandlers/UploadDocsFile.ashx',type:"POST",data:model.toJSON(),contentType:'application/json'}).done(funct

javascript - IE 8/9 中 FormData 的回退

FormData在IE8/9中不存在,但我需要在这些浏览器中使用该功能。这有很好的回退吗?我会尝试发送json数据,但我需要将文件传递给服务器。我将此文件附加到现代浏览器中的formData并提交一个XHR请求。因为FormData在IE8/9中不存在,这显然失败了。//Icantseemtogetthistoworkwithafile.$.ajax({url:'/genericHandlers/UploadDocsFile.ashx',type:"POST",data:model.toJSON(),contentType:'application/json'}).done(funct

javascript - 如何从 Blob 创建文件对象?

DataTransferItemList.add允许您覆盖javascript中的复制操作。但是,它只接受File对象。复制事件我的copy事件中的代码:varitems=(event.clipboardData||event.originalEvent.clipboardData);varfiles=items.items||items.files;if(files){varblob=Blob.fromDataURL(_this.editor.selection.getSelectedImage().toDataURL("image/png"));files.add(blob);}c

javascript - 如何从 Blob 创建文件对象?

DataTransferItemList.add允许您覆盖javascript中的复制操作。但是,它只接受File对象。复制事件我的copy事件中的代码:varitems=(event.clipboardData||event.originalEvent.clipboardData);varfiles=items.items||items.files;if(files){varblob=Blob.fromDataURL(_this.editor.selection.getSelectedImage().toDataURL("image/png"));files.add(blob);}c

javascript - 将base64 png数据转换为javascript文件对象

我有两个用PNG编码的base64,我需要使用Resemble.JS来比较它们我认为最好的方法是使用fileReader将PNG转换为文件对象。我该怎么做? 最佳答案 方式一:只对dataURL有效,对其他类型的url无效。functiondataURLtoFile(dataurl,filename){vararr=dataurl.split(','),mime=arr[0].match(/:(.*?);/)[1],bstr=atob(arr[1]),n=bstr.length,u8arr=newUint8Array(n);whil

javascript - 将base64 png数据转换为javascript文件对象

我有两个用PNG编码的base64,我需要使用Resemble.JS来比较它们我认为最好的方法是使用fileReader将PNG转换为文件对象。我该怎么做? 最佳答案 方式一:只对dataURL有效,对其他类型的url无效。functiondataURLtoFile(dataurl,filename){vararr=dataurl.split(','),mime=arr[0].match(/:(.*?);/)[1],bstr=atob(arr[1]),n=bstr.length,u8arr=newUint8Array(n);whil

javascript - 如何将 dataURL 转换为 javascript 中的文件对象?

我需要将dataURL转换为Javascript中的文件对象,以便使用AJAX发送它。可能吗?如果是,请告诉我怎么做。 最佳答案 如果你需要通过ajax发送它,那么就不需要使用File对象,只需要Blob和FormData对象.正如我旁注的那样,您为什么不通过ajax将base64字符串发送到服务器并将其转换为二进制服务器端,例如使用PHP的base64_decode?无论如何,符合标准的代码来自thisanswer适用于Chrome13和WebKitnightlies:functiondataURItoBlob(dataURI){