2013-03-07 42 views
0

我正在一个小的web应用程序生成一个base64图像,我用blob把它放回到一个文件(是一个PNG,但我还没有改名它),现在我试图保存在我的服务器上任何想法或不同的方法?如何用JavaScript保存服务器上的图像?

这是脚本:

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

你的服务器在运行什么? – 2013-03-08 16:13:28

+0

Apache/1.3.27(Unix)PHP/4.4.6 – 2013-03-08 16:39:44

+0

AIEEEE!这很古老--PHP 4.4.6于2007年3月发布**。在你做其他事情之前,先找一个更好的网络主机。 – duskwuff 2013-03-09 00:15:48

回答

1

您无法使用客户端JavaScript保存到您的服务器。形成你想要保存在Javascript中的数据,然后通过调用一个页面来将它发布到你的服务器上,这个页面可以将POST数据转化为你文件系统中的一个文件,所以你的情况就是一个.php文件, $_POST数据,然后将其写入文件。确保安全后,因为任何人都可以将数据发布到该页面,而不仅仅是使用您的网页的人。

相关问题