2013-03-07 2 views
0

Я работаю в небольшом веб-приложении, которое генерирует образ 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 его весь яваскрипт так просто увидеть исходный код.

+0

Работает ли ваш сервер? –

+0

Apache/1.3.27 (Unix) PHP/4.4.6 –

+0

AIEEEE! Это древний язык - PHP 4.4.6 был выпущен в марте ** 2007 **. Прежде чем делать что-либо еще, получите лучший веб-хост. – duskwuff

ответ

1

вы не можете сохранить на свой сервер с помощью только клиентского JavaScript. Создайте данные, которые вы хотите сохранить в Javascript, затем POST, которые на ваш сервер, вызовите страницу, которую вы пишете, которая может превращать данные POST в файл вашей файловой системы, поэтому в вашем случае файл .php с кодом, который ищет $_POST, а затем записывает это в файл. Убедившись, что это безопасно, потому что каждый сможет отправлять данные на эту страницу, а не только на тех, кто использует вашу веб-страницу.