Ore*_*eni 6 php amazon-s3 amazon-web-services laravel laravel-5.1
我正在尝试在将文件上传到AWS S3后立即从本地目录中删除该文件.当我在Vagrant上运行时,我得到一个错误=文本文件:忙,当我在xampp上运行时,我收到错误:权限被拒绝.出于某种原因,AWS S3 PutObject方法未释放文件句柄.我试图取消设置s3对象但是没有用.
这是代码:
$tempName = public_path().'/path/to/file'
//Initialize AWS
$s3 = AWS::createClient('s3');
//Upload image to AWS
try {
$reponse = $s3->putObject(array(
'Bucket' => 'zotamoda',
'Key' => $productImage->image_folder."/".$productImage->image_name,
'SourceFile' => $tempName,
'ACL' => 'public-read',
));
} catch (S3Exception $e) {
// The AWS error code (e.g., )
echo $e->getAwsErrorCode() . "\n";
// The bucket couldn't be created
echo $e->getMessage() . "\n";
}
//Delete image from temporary location
unlink($tempName);
Run Code Online (Sandbox Code Playgroud)
你可以试试:
Storage::disk('s3')->put($productImage->image_folder."/".$productImage->image_name, file_get_contents($tempName), 'public');
unlink($tempName);
Run Code Online (Sandbox Code Playgroud)
或者,假设这$tempName是相对于您的项目根目录:
Storage::disk('local')->delete($tempName)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |