大家好我正在尝试从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搜索到了答案并且无处可去 - 请帮助:(
答案 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); } 现在一切都会好起来的。 ;) 享受吧。