使用Zend_GData上传到Google DOcs时出现致命错误

时间:2010-03-20 12:27:46

标签: php zend-framework google-docs

大家好我正在尝试从zend frameworks网站获取有关如何将文档上传到Google文档的代码示例,但我一直收到此错误。

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文件 - 这里发生了什么 - 我用Google搜索到了答案并且无处可去 - 请帮助:(

2 个答案:

答案 0 :(得分:1)

问题是HTTP状态代码 - 415 Unsupported Media Type。似乎代码已经过时了(你是在1.10吗?)。这是来自Google的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 :(得分:1)

probem是mimetype(“无法识别的扩展类型)”只需转到您的库文件夹,查看第244行的Zend / Gdata / Docs.php文件

插入:

  

//设置数据的mime类型。           if($ mimeType === null){$ filenameParts = explode('。',   $ slugHeader); //< - 现在slugheader   等于myfilename.txt $ fileExtension   = end($ filenameParts); $ mimeType = self :: lookupMimeType($ fileExtension);     }

而不是:

  

//设置数据的mime类型。           if($ mimeType === null){             $ filenameParts = explode('。',$ fileLocation);             $ fileExtension = end($ filenameParts);             $ mimeType = self :: lookupMimeType($ fileExtension);           }   现在一切都会好起来的。 ;)    享受吧。