- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我需要将 dataURL 转换为 Javascript 中的文件对象,以便使用 AJAX 发送它。可能吗?如果是,请告诉我怎么做。
最佳答案
如果你需要通过 ajax 发送它,那么就不需要使用 File
对象,只需要 Blob
和 FormData
对象.
正如我旁注的那样,您为什么不通过 ajax 将 base64 字符串发送到服务器并将其转换为二进制服务器端,例如使用 PHP 的 base64_decode
?无论如何,符合标准的代码来自 this answer适用于 Chrome 13 和 WebKit nightlies:
function dataURItoBlob(dataURI) {
// convert base64 to raw binary data held in a string
// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
var byteString = atob(dataURI.split(',')[1]);
// separate out the mime component
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
// write the bytes of the string to an ArrayBuffer
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
//Old Code
//write the ArrayBuffer to a blob, and you're done
//var bb = new BlobBuilder();
//bb.append(ab);
//return bb.getBlob(mimeString);
//New Code
return new Blob([ab], {type: mimeString});
}
然后只需将 blob 附加到新的 FormData 对象并使用 ajax 将其发布到您的服务器:
var blob = dataURItoBlob(someDataUrl);
var fd = new FormData(document.forms[0]);
var xhr = new XMLHttpRequest();
fd.append("myFile", blob);
xhr.open('POST', '/', true);
xhr.send(fd);
关于javascript - 如何将 dataURL 转换为 javascript 中的文件对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6850276/
我有一个来自显示我的网络摄像头的 Canvas 的 DataURL。我使用 Matt 在这里的回答将这个 dataURL 变成一个 blob:How to convert dataURL to fil
我正在尝试使用davidshimjs/qrcodejs生成QR码与下面的代码。但是,当我尝试生成 DataURL 时,它给出以下错误: 类型错误:document.getElementById(...
我创建了一个将图像的 DataURI 存储在本地存储中的函数。 数据完美地存储在本地存储中,但如果我尝试从函数(即 return 语句)中获取值,则会得到“未定义”值。可能该函数甚至在转换为 data
我正在尝试从网页打印动态生成的 PDF。 var $iframe = $(''); $iframe.appendTo('body'); $iframe.load(function() { va
我正在运行根据 html5 Canvas 上的绘图查找事件触发器的代码。一旦停止绘制,它就会将 dataURL 发送到输入字段。从那里我将 dataURL 保存到数据库中。 这适用于以下情况: 运行“
我有这个对象: {dataURL: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwA…r/wALbpMM7gAAAANJREFUQ9S2TEBrm
我正在制作一个上传脚本,但我坚持从“addfile”事件的“file”获取dataURL,这是我的代码: $(function() { var dropzone = new Dropzone(
嗨,我有这段代码,可以将 dataURL 发送到 php 并将其保存到服务器。 JS: function addFormText(){ $('body').append(''); } function
我有一个由用户编辑的 Canvas (一些拖放内容),上面有一些以文本形式打印的说明。我想保存没有该文本的图像。 我正在使用 KeneticJS。大小始终相同,并且文本位于图像的底部,所以我在想是否可
我想在我的 java web 应用程序中使用网络摄像头拍照。现在为了做到这一点,我使用 Photobooth.js,它提供了在 Web 应用程序中单击图像的工具。 现在我的问题是,一旦我单击按钮拍照,
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Get image data in Javascript? Convert an image into bi
我正在使用 chrome。 这是我的代码。 var save = document.createElement('a'); save.href = fileURL; save.download = f
我正在使用 HTML 5 Canvas 创建纯 Javascript 图像缩放器。我有一个将 Canvas 下载为图像文件的链接。 这适用于单个文件: $( '#dl' ).on( 'click',
我正在使用 html2canvas 来转换 html2canvas, 我正在使用 .each 解析 html,然后将元素传递给 html2canvas。在元素转换为 DataURL 之后。我将它推送到
我有一个 dataurl 格式的图像,例如: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwME…i
我正在尝试将图片上传到 Parse.com,我没有文件,但是有 dataURL(因为我调整了图片的大小),但需要上传图片文件。 欢迎任何提示。 这里是更多细节的代码: // First want to
我正在研究 this app在 Chrome 应用商店中。显然文件 API 发生了变化,因此我需要实现 FileReader 以获取拖放到页面上的文件的本地 URL。 function drop(ev
将图像的来源作为 dataurl,有没有办法在 javascript 或 PHP 中获取图像的高度和宽度,以便我可以将它们设置为 div 的属性? 或者是否有更好的方法使 div 缩放到图像大小。假设
我想知道要在浏览器中加载的 Base64 DataURL 图像的最大长度是多少? 谢谢! 最佳答案 引用 MDN on this : Length limitations Although Mozil
我正在使用 Canvas 并使用以下脚本创建图像, function getImage() { var canvas1 = document.getElementById("images");
我是一名优秀的程序员,十分优秀!