2010-03-17 9 views
0

Salut les gars, je suis en train de créer un formulaire qui télécharge des documents sur mon compte google docs mais cela ne fonctionne pas Je continue à recevoir une erreur - ce qui suit est mon code;Impossible de télécharger depuis mon formulaire php vers google docs - obtenir l'erreur

$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); 

je reçois l'erreur suivante:

PHP Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 400 Inconsistent repeating query parameter ' in C:...\Zend\Gdata\App.php:700

J'utilise PHP et le code gdata Zend.

Répondre

0

Il existe un "bogue" dans Zend_Gdata_Docs avec le type MIME. Si vous utilisez un fichier temporaire et le nom de fichier comme titre, il ne tirera pas automatiquement le type MIME pour vous. Il essaie de tirer le type MIME basé sur l'extension fileLocation qui n'existe pas sur un fichier temporaire.

J'ai fait une classe qui fonctionne pour moi, plutôt que de mettre à jour la classe Zend. Il est appelé ConvertDoc parce que je voulais être en mesure de upload a spreadsheet and download as csv.

Qu'est-ce que vous avez vraiment besoin est ... ce

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

et passer la mimetype $ au lieu de null.