第一次使用php上传OSS遇到的问题,也就是所谓的“坑”!
今天被这上传OSS搞得好累,感觉我太笨了,这个应该是很简单的问题,为什么我迟迟解决不了呢?
其实跟阿里云的错误提示也有关系,另外他们的文档介绍,我也真是不敢恭维!
今天遇到的问题最多的就是“InvalidBucketName: The specified bucket is not valid.”
于是乎,一直就在围绕这个提示搜索答案,无论百度怎么搜索,都没有找到很好的答案!
无奈,最后只得请教阿里云工单!
在和工单共同证明了我的BucketName确认无误后,
阿里云的技术给出了我的错误点!
其实也就是yourObjectName和yourLocalFile
yourObjectName 上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg
yourLocalFile 由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt
我承认,是我的错,我把这两个参数配置错了,但是为什么会一直提示BucketName无效呢?
yourObjectName 也就是你放到OSS里面的位置,最外面一层就是bucketname,比如bucketname为bst,yourObjectName 为abc/efg/123.jpg,那么最终就存在了bst/abc/efg下
yourLocalFile 怎么设置呢?
知道使用php上传图片的朋友们应该都了解,在我们选中图片开始上传的时候,图片是先转到我们本地的系统临时目录,也就是c盘下的temp
比如我们看 dump($_FILES);
^ array:5 [
"name" => "03.jpg"
"type" => "image/jpeg"
"tmp_name" => "C:\Users\ASUS\AppData\Local\Temp\php3D3.tmp"
"error" => 0
"size" => 626698
]
那么yourLocalFile就是C:\Users\ASUS\AppData\Local\Temp\php3D3.tmp
在此感谢https://www.cnblogs.com/zx-admin/p/7132952.html
有好的文章希望朋友们帮助分享推广,猛戳这里河洛伊哥