Closed jiaopengzi closed 2 months ago
所以出现签名错误.
感谢指导,修改上传方式和 签名的时候ContentType: oss.Ptr("image/png")
和 发送请求'Content-Type': 'image/png'
对齐就成功了.
result, err := client.Presign(context.TODO(), &oss.PutObjectRequest{
Bucket: oss.Ptr("jiaopengzi-image"),
Key: oss.Ptr("blog/uploads/6.png"),
ContentType: oss.Ptr("image/png"),
Metadata: map[string]string{"user": "jack"},
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>File Upload</title>
</head>
<body>
<div>
<input type="file" id="fileInput" />
<button id="uploadButton">Upload</button>
</div>
<script>
var fileInput = document.getElementById('fileInput')
var uploadButton = document.getElementById('uploadButton')
var file = null
fileInput.addEventListener('change', function (e) {
file = e.target.files[0]
})
uploadButton.addEventListener('click', function () {
if (!file) {
console.error('No file selected')
return
}
var signedUrl =
'https://jiaopengzi-image.oss-cn-chengdu.aliyuncs.com/blog/uploads/6.png?x-oss-credential=LTAI5tERcFBucGpvadG8jktr%2F20240807%2Fcn-chengdu%2Foss%2Faliyun_v4_request&x-oss-date=20240807T121329Z&x-oss-expires=600&x-oss-signature=06d9a3434b94186949ed50f1d9f3a95b938f781e1aa665bbb2aebe1bb320ddbb&x-oss-signature-version=OSS4-HMAC-SHA256' // 签名URL
var reader = new FileReader()
reader.readAsArrayBuffer(file)
reader.onload = function (event) {
var arrayBuffer = reader.result
fetch(signedUrl, {
method: 'PUT',
body: arrayBuffer,
headers: {
'Content-Type': 'image/png',
'x-oss-meta-user': 'jack1',
},
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error(error))
}
})
</script>
</body>
</html>
官方大佬您好:
使用 golang 参考官方文档生成签名url.
上传文件
在不使用签名url是可以上传文件的,账号验证应该是没有问题的
但是使用了签名url上传文件报错
SignatureDoesNotMatch
如下,请给予一些帮助,非常感谢!使用
signedUrl
上传文件的时候,已经将 Bucket 的跨域都设置为了*用户读写权限
账号权限