2010-03-20 60 views
1

嗨,大家好我想從zend frameworks網站的代碼示例如何上傳文件到谷歌文檔,但我不斷收到此錯誤。上傳到谷歌DOcs使用Zend_GData致命錯誤

PHP Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 415 
Content-Type application/x-www-form-urlencoded is not a valid input type.' in C:\...\Zend\Gdata\App.php:700 

它不能是未列出的類型,我試圖上傳甚至.txt文件 - 什麼發生在這裏 - 我到處一派的答案,並降落無處 - 請幫助:(

回答

1

但問題是HTTP狀態碼 - 415 Unsupported Media Type看來這個代碼是過時的(你在1.10?)下面是來自谷歌的list of data you can upload建議的修復是檢查這個列表中存在的Zend/library/Zend/Gdata/Docs.php

private static $SUPPORTED_FILETYPES = array( 
     'CSV'=>'text/csv', 
     'DOC'=>'application/msword', 
     'ODS'=>'application/vnd.oasis.opendocument.spreadsheet', 
     'ODT'=>'application/vnd.oasis.opendocument.text', 
     'RTF'=>'application/rtf', 
     'SXW'=>'application/vnd.sun.xml.writer', 
     'TXT'=>'text/plain', 
     'XLS'=>'application/vnd.ms-excel'); 

Google羣組發帖here

1

的probem是MIME類型(即無法識別「擴展型)就到你的庫文件夾看的Zend/GDATA/Docs.php文件上線244

插入這樣的:

//設置數據的MIME類型 if($ mimeType === null){$ filenameParts = explode('。', $ slugHeader); // < - 現在slugheader 等於myfilename.txt $ fileExtension = end($ filenameParts); $ mimeType = self :: lookupMimeType($ fileExtension); }

,而不是這樣的:

//設置數據的MIME類型。如果($ mimeType === null){ $ filenameParts = explode('。',$ fileLocation); $ fileExtension = end($ filenameParts); $ mimeType = self :: lookupMimeType($ fileExtension); } 現在一切都會好的。 ;) 享受它。