Post上传对象
小程序的文件上传接口是在客户端发起一个content-type为multipart/form-data的POST请求,媒体存储服务可以支持使用post form-data的方式来上传文件。步骤如下,
请参考:
语言 | 参考文档 | 使用例子 |
---|---|---|
Go | Go SDK参考 | Go SDK Demo |
Java | Java SDK参考 | Java SDK Demo |
Python | Python SDK参考 | Python SDK Demo |
Node.js | Node.js SDK参考 | Node.js SDK Demo |
PHP | PHP SDK参考 | PHP SDK Demo |
使用wx.uploadFile接口上传文件
wxupload: function () {
wx.chooseMessageFile({
success: (res) => {
const tempFilePaths = res.tempFiles
let key = "prefix/ExampleObject.txt"
// 从服务器获取到post预签名数据
let data = {
url: '<post-presign-generate-url>',
fields: {
bucket: '<your-bucket>',
'X-Amz-Algorithm': 'AWS4-HMAC-SHA256',
'X-Amz-Credential': '<post-presign-generate-credential>',
'X-Amz-Date': '<post-presign-generate-date>',
Policy: '<post-presign-generate-policy>',
'X-Amz-Signature': '<post-presign-generate-signature>'
}
};
wx.uploadFile({
url: data.url,
filePath: tempFilePaths[0].path,
name: "file",
formData: {
key: key,
'bucket': data.fields['bucket'],
'X-Amz-Algorithm': data.fields['X-Amz-Algorithm'],
'X-Amz-Credential': data.fields['X-Amz-Credential'],
'X-Amz-Date': data.fields['X-Amz-Date'],
'X-Amz-Signature': data.fields['X-Amz-Signature'],
'Policy': data.fields['Policy'],
},
success: res => {
console.log(res);
},
})
}
})
}