如何使用javascript在服务器上保存图像?

时间:2013-03-07 20:44:59

标签: javascript

我正在使用一个生成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,所以只看源代码。

1 个答案:

答案 0 :(得分:1)

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