Может ли объект Action Script FileReference быть отправлен в Javascript и преобразован в объект File? - PullRequest
1 голос
/ 13 июля 2010

В Action Script вызывается FileReference.browse ().

Я хочу отправить выбранный файл в Javascript и преобразовать его в объект File, как если бы я нажал кнопку Browse на<input type='file /> и получил объект File.

Мне нужно, чтобы я мог отображать миниатюру изображения, как показано здесь .

Возможно, вместо передачи всего объекта,Можно ли отправить только необходимую информацию для миниатюры с объекта?

Спасибо!

Ответы [ 2 ]

1 голос
/ 15 декабря 2012

Для людей, пытающихся это сделать.Что можно сделать следующим образом:

  1. Преобразование байта данных fileReference в Base64 и поместить его в строку
  2. Отправка этой строки в JavaScript с ExternalInterface

Я использую этот шаблон в тех случаях, когда я хочу получить обзор содержимого бинарных файлов.С помощью этого подхода можно отправить даже большое изображение.Затем к файлу можно получить доступ в javascript, используя URI данных с соответствующим MIME:

data: image / png; base64, [data] или data: октет / поток, [data]

Поскольку я публикую почти два с половиной года после первого сообщения, мы можем сделать это во всех популярных браузерах.

1 голос
/ 13 июля 2010

Я не думаю, что есть способ создать объект File.Например, попробуйте это:

var f = new File;

Я получаю исключение "Не удается преобразовать WrappedNative в функцию".Если вы посмотрите в документы для File , конструктор не описан.Кроме того, большинство атрибутов доступны только для чтения.Я бы сказал, что это означает, что только браузер может создавать объект File.

Имейте в виду, что если бы вы могли создать объект File, указав путь к файлу, было бы легко загрузить файлы безсогласие пользователя.Это было бы серьезной дырой в безопасности.

Для вас может оказаться более практичным использование только Flash или только HTML5.

...