我正在使用一个生成base64图像的小型网络应用程序,我正在使用blob将其放回文件中(是一个.png,但我还没有重命名),现在我正在尝试把它保存在我的服务器上任何想法或不同的方法?
这是剧本:
var img = document.getElementById("MyPix");
img.onclick = function() {
var image_data = atob(img.src.split(',')[1]);
var arraybuffer = new ArrayBuffer(image_data.length);
var view = new Uint8Array(arraybuffer);
for (var i=0; i<image_data.length; i++) {
view[i] = image_data.charCodeAt(i) & 0xff;
}
try {
var blob = new Blob([arraybuffer], {type: 'application/octet-stream'});
} catch (e) {
var bb = new (window.WebKitBlobBuilder || window.MozBlobBuilder);
bb.append(arraybuffer);
var blob = bb.getBlob('application/octet-stream');
}
var url = (window.webkitURL || window.URL).createObjectURL(blob);
valor = (document.getElementById("link").value = url)
location.href = valor;
};
我对js不是很好,所以如果你想更好的想法访问项目clicking here它的所有javascript,所以只看源代码。
答案 0 :(得分:1)
您无法使用客户端JavaScript保存到服务器。在Javascript中形成要保存的数据,然后通过调用您编写的页面将POST发送到您的服务器,该页面可以将POST数据转换为文件系统上的文件,因此在您的情况下使用代码查找的.php文件$_POST
数据,然后将其写入文件。确保它安全后,因为任何人都可以将数据发布到该页面,而不仅仅是使用您网页的人。