在我本地的Google App Engine服务器(1.9.0)(PHP 5.4.6-1ubuntu1.7)上,我总是message/external-body
以mime类型获取上载的文件,tmp_name
并且没有gs://包装器,因为它应该是。例如:
[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>
我们正在使用php-cgi二进制文件与Linux SDK一起分发,它将解决此问题。
在此之前,如果您可以在Mac或Windows上进行测试,它将可以在开发环境中正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句