上傳圖片到oss,線上項目若需要提交圖片,我現在使用oss保存
可以使用支付寶小程序官方的雲服務,好像是直接調用接口,目前公測免費
https://docs.alipay.com/mini/cloud-service/tcg57g
上傳oss的一些細節,根據上面oss官方文檔,下載應用服務器代碼,unload.js中修改
accessid= '';
accesskey= '';
host = '';
host 字段格式為 bucket.endpoint (如下面的zhufubao.oss-cn-beijing)
https://zhufubao.oss-cn-beijing.aliyuncs.com
運行index.html獲取policy,OSSAccessKeyId,signature,
my.chooseImage({
chooseImage: 1,
success: res => {
const path = res.apFilePaths[0];
console.log(path);
my.uploadFile({
url: 'https://zhufubao.oss-cn-beijing.aliyuncs.com',
fileType: 'image',
fileName: 'file',
filePath: path,
formData: {
name: "${fileName}",
//res.apFilePaths[0]是支付寶小程序調用chooseImage接口返回的圖片地址,需要自己去修改,因為它返回的是 temp://+圖片地址,可以分割得到圖片地址,在存儲的時候自定義存儲路徑,用host對應的bucket嚇得文件路徑拼接上圖片地址
//key: 'equipment-image/'+path.split('://')[1],
key: res.apFilePaths[0], //上傳到OSS的Object名稱。如果名稱包含路徑,如a/b/c/b.jpg,則OSS會自動創建相應的文件夾。
policy: '',
OSSAccessKeyId: '',
signature: '',
success_action_status: 200 //如果不設置success_action_status,文件上傳成功后則返回204狀態碼。
},
success: res => {
my.alert({ title: '上傳成功' });
},
fail: function(res) {
my.alert({ title: '上傳失敗' });
},
});
},
});
上傳到oss之后,圖片如果是不可預覽的,設置http頭為image/png