Преобразование изображения в двоичные данные или строку в Javascript - PullRequest
1 голос
/ 11 мая 2011

Я работаю над загрузкой файла изображения в TWITPIC с помощью XMLHttp-запроса на расширение Chrome.Мне нужно отправить изображение в качестве полезной нагрузки.Есть ли способ сделать это ?Я нашел эту ссылку Преобразование изображения в двоичные данные в javascript Но это работает с тегами изображения.Мне нужен способ указать путь к файлу изображения и загрузить изображение в TWITPIC.

Я узнал об FileReader API с HTML 5. Есть ли способ работать с этим ??.Он должен работать с локальным файлом.

Поддерживает ли расширение Chrome FileReader API без запуска сервера локального хоста ??

Ответы [ 2 ]

3 голосов
/ 12 мая 2011

Я нашел ответ сам. Расширения Chrome поддерживают API-интерфейс FileReader для HTML 5. Поэтому приведенный ниже код работает просто.

  var reader = new FileReader();
  reader.readAsDataURL(f);
0 голосов
/ 12 мая 2011

Вы можете использовать это для получения двоичных данных изображения с использованием XMLHTTPRequests, я недавно использовал его для аналогичной цели:

var dataToBinary = function(data){
    var data_string = "";
    for(var i=0; i<data.length; i++){
        data_string += String.fromCharCode(data[i].charCodeAt(0) & 0xff);
    }
    return data_string;
};

$.ajax("http://some.site.com/myImage.jpg", {
    success: function(data){
        binary = dataToBinary(data);
        //or: 'binary = data', dataToBinary might not be needed
    },
    mimeType: "text/plain; charset=x-user-defined"
});

И двоичные данные хранятся в переменной binary.

...