php google app引擎在本地开发服务器上传文件

时间:2014-03-05 12:19:10

标签: php google-app-engine

在我的本地Google应用引擎服务器(1.9.0)(PHP 5.4.6-1ubuntu1.7)上,我总是将message/external-body作为上传文件的mime类型,tmp_name没有gs ://包装器,因为它应该。 E.g:

[type] => message/external-body [tmp_name] => /tmp/phpFbTDzF

它应该在哪里(如在制作应用引擎上):

[type] => text/plain [tmp_name] => gs://coscms-bucket/L2FwcGhvc3Rpbmcy...

文件是本地上传的,但是当你没有得到正确的文件名(gs://)时,很难对它进行测试。

部署后,我会为上传的文件获取正确的mime类型。这是我的测试脚本:

<?php

use google\appengine\api\cloud_storage\CloudStorageTools;

$bucket = 'coscms-bucket';

if (!empty($_FILES)) {  
    print_r($_FILES);
}


$options = [ 'gs_bucket_name' => $bucket ];
$upload_url = CloudStorageTools::createUploadUrl('/test.php', $options);
?>
<form action="<?php echo $upload_url?>" enctype="multipart/form-data" method="post" accept-charset="utf-8">
Files to upload: <br>
<input type="file" name="uploaded_files" size="40">
<input type="submit" value="Send">
</form>

1 个答案:

答案 0 :(得分:2)

我们正在使用一个php-cgi二进制文件来分发linux SDK来解决这个问题。

在此之前,如果您可以在Mac或Windows上进行测试,它将在开发环境中正常运行。