У меня действительно есть ввод файла, и я хотел бы получить данные файла Base64.
Я попытался:
$('input#myInput')[0].files[0]
для получения данных. Но он предоставляет только имя, длину, тип содержимого, но не сами данные.
Мне действительно нужны эти данные, чтобы отправить их в Amazon S3
Я уже тестировал API, и когда я отправляю данные через HTML-форму с типом кодирования "multipart / form-data", он работает.
Я использую этот плагин: http://jasny.github.com/bootstrap/javascript.html#fileupload
И этот плагин дает мне предварительный просмотр изображения, и я получаю данные в атрибуте src предварительного просмотра изображения. Но когда я отправляю эти данные на S3, это не работает. Возможно, мне нужно закодировать данные типа "multipart / form-data", но я не знаю почему.
Есть ли способ получить эти данные без использования html-формы?
источник
Ответы:
Вы можете попробовать FileReader API. Сделайте что-то вроде этого:
источник
\xc3\xbf\xc3
получаю этот код вместо\xff\xd8\xff
трех первых символов моего изображения. Что мне следует использовать, чтобы получить второй код для моего изображения?элемент входного файла:
получить файл :
источник
$('.myClass').prop('files', myFile );
Я создал объект данных формы и добавил файл:
и я получил:
в отправленных заголовках. Я могу подтвердить, что это работает, потому что мой файл был отправлен и сохранен в папке на моем сервере. Если вы не знаете, как использовать объект FormData, в Интернете есть документация, но ее немного. Описание объекта данных формы от Mozilla
источник
Html:
JQuery:
Мы хотим получить только первый элемент, потому что prop ('files') возвращает массив.
источник
input
элемент типаfile
При
input
изменении используйтеFileReader
объект и прочтитеinput
свойство файла:FileReader загрузит ваш файл, и у
fileReader.result
вас будут данные файла в формате Base64 (также тип содержимого файла (MIME), текст / простой, изображение / jpg и т. Д.)источник
FileReader API с jQuery, простой пример.
Чтобы читать как текст ... раскомментируйте
//fr.readAsText(file);
строку и комментарийfr.readAsDataURL(file);
источник
Загрузите указанные выше файлы с именем fileinput и добавьте путь к вашей индексной странице.
источник