Adobe Flash FileReference Способ сохранения — сохранить как тип файла в Windows 7

Я использую FileReference.save для сохранения jpg на компьютер пользователя. В Windows 7 я передаю «test.jpg» в качестве имени сохраняемого файла, но в диалоговом окне сохранения файла отображается только «test» («test.jpg» отображается в качестве имени файла в Windows Vista). Таким образом, если пользователь вручную не добавит расширение .jpg, Windows 7 не узнает, что это файл jpeg, поскольку он просто сохраняется как «тест». Я хотел бы иметь возможность передать расширение .jpg для пользователя, но Windows 7, похоже, удаляет расширение файла из имени файла, которое передается в диалоговое окно сохранения файла.

fr = new FileReference();
fr.save(imgByteArray, 'test.jpg');

person Steven    schedule 24.03.2012    source источник
comment
Возможно, глупый вопрос, но у вас отключена настройка Windows для скрытия расширений для известных типов файлов? (Отмечено по умолчанию). Вы это лично тестируете или это отзыв от пользователя? Если последнее, вы уверены, что пользователь не изменил или не удалил расширение файла перед сохранением?   -  person JeffryHouser    schedule 24.03.2012
comment
Я лично тестирую это. Я использовал Windows Vista и недавно обновился до Windows 7 и заметил это. Похоже, проблема с диалогом сохранения файла. Я передаю «test.jpg» в качестве имени файла для сохранения, но в качестве имени файла для сохранения отображается только «test». Я могу, как пользователь, добавить .jpg вручную в диалоговое окно сохранения файла, и это нормально, но я хочу иметь возможность передать расширение .jpg для пользователя.   -  person Steven    schedule 24.03.2012
comment
Я собираюсь отредактировать исходный пост. Проблема заключается в том, что «test.jpg» — это имя файла, переданное в диалоговое окно сохранения файла, но только «test» отображается как имя файла для сохранения. Таким образом, Windows не знает, какой это тип файла, если пользователь вручную не добавит расширение файла .jpg.   -  person Steven    schedule 24.03.2012
comment
@Steven проблема именно в том, что Flextras описывает, эта проблема возникает, когда вы выбрали скрытие расширений для известных типов файлов, перейдите в окно проводника (Мой компьютер будет работать), нажмите Alt, перейдите в меню инструментов, перейдите к параметрам папки, нажмите вторую вкладку, в списке флажков найдите Скрыть расширения известных типов файлов, снимите этот флажок. Теперь вы увидите расширение файла, честно говоря, я бы по-прежнему, вероятно, считал это ошибкой, но на самом деле он сохраняется с расширением, которое просто скрывает его от вашего взгляда.   -  person shaunhusain    schedule 24.03.2012
comment
Я бы ответил, но я думаю, что это @www.Flextras.com, если он хочет опубликовать это как ответ.   -  person shaunhusain    schedule 25.03.2012
comment
@shaunhusain Я просто предположил; Если вы провели исследование; выложи это.   -  person JeffryHouser    schedule 25.03.2012
comment
Кто-нибудь знает обходной путь для этого? У большинства наших пользователей расширения файлов скрыты, и в конечном итоге им приходится обращаться за помощью в службу поддержки, когда они не могут открыть загруженный файл.   -  person undefined    schedule 09.07.2012


Ответы (1)


Итак, проблема в том, что ОС скрывает от вас расширения. Починить это:

  1. Нажмите Меню "Пуск".
  2. Нажмите Мой компьютер.
  3. С окном моего компьютера, имеющим фокус (нажмите на него, чтобы убедиться), нажмите клавишу Alt, это даст вам меню в старом стиле.
  4. Откройте меню Инструменты и выберите Параметры папки....
  5. В появившемся окне нажмите вторую вкладку вверху под названием Просмотр.
  6. В списке флажков внизу снимите флажок Скрыть расширение для известных типов файлов.
  7. Нажмите ОК.
  8. Запустите программу Flex еще раз

В качестве альтернативы шагам 1 и 2 вы можете нажать WinKey+E, чтобы открыть окно проводника.

Yay для технического письма 101.

Когда вы выполняете сохранение, просмотр или загрузку, диалоговое окно, которое открывается, зависит от ОС и поэтому обрабатывается с настройками, примененными к ОС пользователем. Если вы находитесь в контексте AIR, вы можете сохранить напрямую без диалогов, используя класс FileStream.

person shaunhusain    schedule 24.03.2012
comment
Спасибо, проблема была в этом, исправил. Думаю, единственное, что нужно сделать, это попросить пользователя сохранить файл с расширением .jpg. - person Steven; 25.03.2012