0

我正在一个生成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 不是很好,所以如果你想有一个更好的想法,请访问项目点击这里它的所有 javascript,所以只需查看源代码。

4

1 回答 1

1

您不能仅使用客户端 JavaScript 将其保存到您的服务器。形成您要保存在 Javascript 中的数据,然后通过调用您编写的页面将其发布到您的服务器,该页面可以将 POST 数据转换为文件系统上的文件,因此在您的情况下,是一个 .php 文件,其中包含查找的代码$_POST数据,然后将其写入文件。在确保它是安全的之后,因为任何人都可以将数据发布到该页面,而不仅仅是使用您网页的人。

于 2013-03-09T00:11:07.520 回答