Загруженный файл ppt кажется поврежденным

Недавно я интегрировал Google Диск со своим приложением для iOS. Все работает нормально, но файлы .ppt. Обычно, если файл находится на Диске, я использую URL-адрес загрузки для его загрузки. Если файл принадлежит Документам Google, я использую одну из экспортных ссылок (точно такую ​​же, как Ален описал ее здесь).

Однако все файлы .ppt (с "mimeType": "application/vnd.google-apps.presentation"), поступающие из Google Docs, после загрузки повреждаются (я использую ссылку для экспорта с exportFormat=pptx). Тот же файл, загруженный через веб-браузер, работает нормально. Я использую библиотеку ASIHTTPRequest для загрузки файлов (что также может быть причиной повреждения .ppt?).

Любые идеи, почему только файлы ppt вызывают проблемы?


person lechec    schedule 25.07.2012    source источник
comment
Фактически экспортируемый файл должен иметь формат pptx, а не ppt, можете ли вы это подтвердить?   -  person Ali Afshar    schedule 25.07.2012
comment
Да, подтверждаю. Так что даже имя моего файла — презентация.ppt (в Google Docs), после загрузки его имя становится презентацией.ppt.pptx.   -  person lechec    schedule 25.07.2012


Ответы (1)


Я уже могу вам сказать, что причина не в используемой вами библиотеке: я ее не использую, но у меня та же проблема: кажется, что там получен код не 200 (if ($httpRequest-> getResponseHttpCode() == 200)) поскольку он показывает мне конкретное сообщение об ошибке, которое я попросил вернуть в случае. Кроме того, когда я пытаюсь загрузить презентацию в формате PDF или txt, появляется та же ошибка.

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

РЕДАКТИРОВАТЬ: получен код 302. Если это может помочь... РЕДАКТИРОВАТЬ 2: После попытки я заметил, что первый параметр - это идентификатор файла, а второй - формат экспорта:

https://docs.google.com/feeds/download/presentations/Export?docId=filedid&exportFormat=pptx

Но в коде 302 у меня есть это местоположение:

https://docs.google.com/feeds/download/presentations/Export?exportFormat=pptx&id=fileid

Мало того, что два параметра не в том же порядке, но и название id, а не docid

Когда я беру этот URL-адрес, помещаю его в качестве ссылки для экспорта, а затем пытаюсь скопировать файл, он работает. Я получаю ответ 200 и внутреннюю часть файла.

Я надеюсь, что это помогает.

person vicrabb    schedule 25.07.2012
comment
Когда я заменил docId на id, он начал работать. Порядок параметров не имеет значения. Мне пришлось сделать эту замену только для экспортных ссылок, заканчивающихся на exportFormat=pptx - person lechec; 27.07.2012
comment
Да, я знаю, поэтому я выделил разницу в имени жирным шрифтом, поняв, что это не будет вопросом порядка (но я допускаю наблюдение). Рад видеть, что это работает и для вас. - person vicrabb; 28.07.2012