您也可以使用 Axios 库来发送请求,以下是发送表单请求的示例代码:
const axios = require('axios');
function uploadStringToOSS(ossPostData, content) {
const formData = new FormData();
Object.keys(ossPostData.fields).forEach(key => {
formData.append(key, ossPostData.fields[key]);
});
const blob = new Blob([content]);
formData.append('file', blob, 'filename.txt');
return axios.post(ossPostData.url, formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
}).then((response) => {
// 处理响应结果
}).catch((error) => {
console.log(error);
});
}
ossPostData 参数为从后端获取到的签名信息,content 参数为上传的字符串内容。将内容转换成 Blob 对象后,添加到表单数据中,使用 Axios
的 post 方法发送 POST 请求即可上传。
需要注意的是,此处指定的 Content-Type 为 multipart/form-data,需要使用 FormData 对象将请求数据进行编码。
您也可以将 Content-Type 修改为 application/octet-stream,直接将内容作为请求主体发送,但需要在后端做相应的解析。