2015-08-02 1 views
1

Я пытаюсь сделать некоторые аудиодоступные для моего веб-приложения доступными через JavaScript.Google App Engine терпит неудачу при попытке загрузить статические файлы .mp3 через app.yaml

Аудиофайл (~ 20 kB) находится в папке root/sounds; как я с другими статическими файлами (CSS стилей, JavaScript-файлы, изображения и т.д.), я добавил это к моему app.yaml:

- url: /sounds 
    static_dir: sounds 

Но тогда, когда я пытаюсь развернуть мое приложение, инструмент бросает это ошибка:

2015-08-02 17:34:35,805 ERROR appcfg.py:2621 An unexpected error occurred. Aborting. 
Traceback (most recent call last): 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2459, in DoUpload 
    self._UploadMissingFiles(missing_files, openfunc) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2600, in _UploadMissingFiles 
    self.blob_batcher.Flush() 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 1464, in Flush 
    self.SendBatch() 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 1423, in SendBatch 
    payload, 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 40: ordinal not in range(128) 

Является ли это ошибкой в ​​приложении Google App Engine, или я делаю что-то неправильно?

Я нахожусь в Windows 10, если это имеет значение.

+0

Вы развертываете с помощью пусковой установки или из командной строки – Anbarasan

+0

@Anbarasan the launcher –

ответ

1

Обновление: Мое первоначальное подозрение было у цели. Исправление, зарытое в комментариях, заключается в добавлении mime_type: для аудиофайлов в app.yaml.

Обновление 2: Отследить его. appcfg использует mimetypes, который пытается получить расширение для сопоставления типа mime из локальной системы для связывания со статическим файлом. Для Windows это означает консультации с реестром. Недавно установленная Windows 10 не знает, что такое .mp3. mime_type: переопределение в app.yaml обходит поиск.

Это интересная трассировка стека. У меня есть подозрение, что это может быть связано с одним или несколькими именами файлов в sounds, но у меня нет возможности использовать Win10 для экспериментов.

У любого из имен файлов есть символы из расширенного набора символов в них? (Например, диакритические или что-то другое не-ascii)? Если вы не хотите показывать имена, простой эксперимент состоял бы в том, чтобы загрузить версию приложения с одним файлом в sounds, где этот файл имеет общее имя (например, example.mp3). Если это сработает, это вопрос сужения того, какое имя вызывает проблему.

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

+0

Единственный звук в папке - «success.mp3», поэтому я не думаю, что это проблема. –

+0

Можете ли вы загрузить пустые 'звуки'? –

+0

Теперь, попробуй, когда я вернусь через несколько часов. Благодарю. –

Смежные вопросы