Загрузка картинок и неправильный_файл_типа - PullRequest
0 голосов
/ 27 августа 2011

Я пытаюсь загрузить изображение в imageshack, используя flex, но продолжаю получать

<links>
<error id="wrong_file_type">Wrong file type detected for file IMG_00000009.jpg:application/octet-stream</error>
</links>

Я пытался изменить mimetype, но, похоже, ничего не получается.

Вот как выглядит мой метод:

protected function onUpload(event:MouseEvent):void
{
    trace('uploading')
    fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler);
    var params:URLVariables = new URLVariables();
    params.key = key;
    var request:URLRequest = new URLRequest("http://www.imageshack.us/upload_api.php");
    request.method = URLRequestMethod.POST;
    request.data = params;
    fileRef.upload(request, "fileupload");
}

Может ли кто-нибудь помочь мне здесь и сказать, что я делаю неправильно?Я посмотрел все вокруг Google и здесь, но не могу найти какой-либо обходной путь для его в actionScript.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Существует несколько типов контента для загрузки формы из нескольких частей. Один для основного представления и один для каждой из частей. Вы не можете установить ни один из них при использовании метода FileReference.upload (). К сожалению, вам, возможно, придется создать свою собственную загрузку из нескольких частей с типами контента, которые требуется для imageshack. Вы можете сделать это с помощью класса URLLoader, но это не очень красиво.

Вот класс, с которого следует начать (возможно, вы можете использовать его без изменений): http://code.google.com/p/in-spirit/source/browse/#svn%2Ftrunk%2Fprojects%2FMultipartURLLoader%2Fru%2Finspirit

Вы также можете попросить, чтобы imageshack принимал application / octet-stream для изображений от имени разработчиков Flash во всем мире.

Вы также можете отправить запрос об ошибке / улучшении на http://bugbase.adobe.com (функция задокументирована для работы таким образом, так что это скорее запрос на улучшение).

0 голосов
/ 29 августа 2011

Ну, во-первых, вы не слушаете никаких ошибок, которые могут произойти (что может иметь место), и если вы хотите отладить, вы должны использовать что-то вроде панели разработчика в Chrome или Firebug в Firefox, чтобы см http запрос.

Сделав быстрый взгляд на API, я увидел этот кусочек:

Поддерживаемые параметры:

  • FileUpload; (input type = "file") - файл изображения или видео. Обязательный если не указан параметр url.
  • frmupload; (input type = "file") - изображение кадра видео по умолчанию. Необязательно, используется только для загрузки видео. Когда вы загружаете свое видео Вы можете предоставить кадр по умолчанию, который будет отображаться, когда видео остановился. Размеры этого изображения должны совпадать с размерами видеофайла. чтобы избежать появления артефактов на экране.
  • URL; Этот параметр указывает, что метод перегрузки используется вместо загружать optsize; изменить размеры изображения в форме WxH, если изображение закачанный / перегружать. Не влияет на загрузку видео.
  • rembar; Разработчик может сказать ImageShack оставить / удалить информационная панель на миниатюрном изображении, сгенерированном ImageShack. Если вы поставил этот параметр как да или как 1, тогда сгенерированный thumbmail будет нет информационной панели. Не влияет на теги загрузки видео; разделенный запятыми список тегов для добавления к вашему видео / изображению. Например. семья, фотография. Дополнительно
  • общественность; Публичный / частный маркер вашего видео / картинки. да значит общедоступный (по умолчанию), не означает частный. Дополнительно
  • печенье; Регистрационный код, необязательно.
  • a_username; Имя пользователя, необязательно.
  • a_password; Пароль, необязательно.
  • ключ; Ваш DeveloperKey. Обязательно.

Полагаю, вам не хватает параметра url или fileupload, чтобы он работал.

...