Не удается загрузить из моей формы PHP в Google Документы - ошибка - PullRequest
0 голосов
/ 17 марта 2010

Привет, ребята. Я создаю форму, которая загружает документы в мою учетную запись Google Docs, но она не работает. Я получаю сообщение об ошибке - мой код приведен ниже;

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($username, $pww, $service);
$docs = new Zend_Gdata_Docs($client);

$newDocumentEntry = $docs->uploadFile($_FILES['file']['tmp_name'], $_FILES['file']['name'], null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);

Я получаю следующую ошибку:

Неустранимая ошибка PHP: необработанное исключение 'Zend_Gdata_App_HttpException' с сообщением «Ожидаемый код ответа 200, получено 400 параметр повторяющегося запроса 'в C: ... \ Zend \ Gdata \ App.php: 700

Я использую php и код Zend gdata.

1 Ответ

0 голосов
/ 09 февраля 2011

В Zend_Gdata_Docs есть "ошибка" с mimetype. Если вы используете временный файл и имя файла в качестве заголовка, он автоматически не вытянет для вас mimetype. Он пытается получить mimetype на основе расширения fileLocation, которое не существует во временном файле.

Я создал класс, который работает для меня, а не обновил класс Zend. Он называется ConvertDoc , потому что я хотел иметь возможность загрузить электронную таблицу и загрузить как csv.

Что вам действительно нужно, так это ...

    // get mimetype from original file name
    $filenameParts = explode('.', $originalFileName);
    $fileExtension = end($filenameParts);
    $mimeType = Zend_Gdata_Docs::lookupMimeType($fileExtension);

И передайте $ mimetype вместо null.

...