中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

邯鄲新聞網(wǎng)今日頭條seo快速排名軟件網(wǎng)址

邯鄲新聞網(wǎng)今日頭條,seo快速排名軟件網(wǎng)址,江蘇交通廳門戶網(wǎng)站建設(shè)工程,寵物網(wǎng)站建設(shè)進度表vueminio實現(xiàn)文件上傳操作 minio文件上傳vueminio實現(xiàn)文件上傳操作 minio文件上傳 minio文件上傳有兩種方法: 第一種是通過ak,sk,調(diào)用minio的sdk putObject進行文件上傳;該方法支持go,java,js等各種語言&…

vue+minio實現(xiàn)文件上傳操作

  • minio文件上傳
  • vue+minio實現(xiàn)文件上傳操作

minio文件上傳

minio文件上傳有兩種方法:

  1. 第一種是通過ak,sk,調(diào)用minio的sdk putObject進行文件上傳;該方法支持go,java,js等各種語言,
  2. 第二種是后端生成presignedUrl,前端通過該url實現(xiàn)文件上傳;

vue+minio實現(xiàn)文件上傳操作

以上說的兩種方法中,第一種方法會把ak,sk暴露給前端,造成一定的安全隱患;所以如果要使用第一種方法,需要向后端請求生成臨時的ak,sk;

這邊我們實現(xiàn)了第二種方法。

前端代碼如下,這種方法的思路是先向后端請求生成presigned-url,然后再通過binary的方式進行文件上傳;注意這里有一個小坑,就是上傳文件不要使用form-data,否則會在文件加上WebKitFormBoundary前綴,minio生成的presigned-url沒有對此進行解析,這種上傳方式會導(dǎo)致如.png .mp4的文件打不開。

<template><el-upload ref="uploadRef" :http-request="uploadSubmit" :auto-upload="false" v-model:file-list="fileList" :limit="1":on-success="onSuccess"><template #trigger><el-button type="primary" style="width: 100px;">select</el-button></template><el-button type="success" @click="uploadRef.submit()" style="margin-left: 2rem;width: 100px;">upload</el-button><div class="demo-progress"><el-progress :percentage=percent /></div><el-button size="small" type="primary" @click="cancelUpload">取消上傳</el-button></el-upload>
</template><script setup>
import { ref } from 'vue'
import axios from 'axios';
const uploadRef = ref();
const fileList = ref([]);
let percent = ref(0);
let Cancel = axios.CancelToken.source()async function uploadSubmit(options) {console.log(options)const item = options['file'];var presignedUrl = ""var objSize = item.size;let bodyJson = {accessKey: 'ak',bucket: 'bucket',object: 'object',expireSeconds: 3600 // s};axios.put('/path/uploadUrl', bodyJson).then(res => {if (res.status == 200) {presignedUrl = res.data.dataaxios({method: "put",url: presignedUrl,data: item, // 重點1,直接將原始二進制流賦給dataheaders: {"Content-Type": "application/octet-stream", // 重點2},timeout: 3600000, // msonUploadProgress: function (e) {percent.value = parseInt(e.loaded / objSize * 100);},cancelToken: Cancel.token}).then(res => {if (res.status == 200) {console.log('success')}}).catch(err => {console.log(err)})   }})
}const onSuccess = (response, file, fileList) => {console.log(response);console.log(file);console.log(fileList);
}function cancelUpload() {Cancel.cancel();Cancel = axios.CancelToken.source(); // 重新定義cancelToken
}</script>
<style scoped>
.demo-progress .el-progress--line {margin-bottom: 15px;width: 350px;
}
</style>
http://www.risenshineclean.com/news/52795.html

相關(guān)文章:

  • 武漢網(wǎng)站制作服務(wù)百度官網(wǎng)認證免費
  • 網(wǎng)站建設(shè)學習流程seo查詢在線
  • 正規(guī)外貿(mào)網(wǎng)站建設(shè)公司百度老年搜索
  • 有域名就可以做網(wǎng)站么網(wǎng)上做廣告宣傳
  • 黃岡網(wǎng)站制作營銷宣傳方式有哪些
  • oss做靜態(tài)網(wǎng)站網(wǎng)站收錄登錄入口
  • 做網(wǎng)站大約需要多少錢引擎seo如何優(yōu)化
  • 云南網(wǎng)站建設(shè)企業(yè)個人網(wǎng)站模板
  • 視頻購物網(wǎng)站開發(fā)方案短視頻seo關(guān)鍵詞
  • 個人網(wǎng)站建設(shè) 免費太原網(wǎng)絡(luò)營銷公司
  • 網(wǎng)站開發(fā)教科書aso推廣優(yōu)化
  • 天津建站方案b2b網(wǎng)站平臺有哪些
  • 永嘉網(wǎng)站建設(shè)幾武漢seo關(guān)鍵詞排名優(yōu)化
  • 網(wǎng)站建設(shè)管理維護制度百度推廣員工工資怎么樣
  • 網(wǎng)站建設(shè)合同范本下載網(wǎng)銷怎么銷售的
  • 婚紗網(wǎng)站內(nèi)容制作最新seo操作
  • 廣州白云會議中心分析鄭州官網(wǎng)網(wǎng)站優(yōu)化公司
  • 哪些公司的網(wǎng)站做的漂亮百度網(wǎng)站推廣費用多少
  • dremrever怎么做網(wǎng)站windows優(yōu)化大師會員
  • ??诰W(wǎng)絡(luò)推廣佛山百度seo點擊軟件
  • 做軟件開發(fā)視頻網(wǎng)站論壇外鏈代發(fā)
  • 溫州市手機網(wǎng)站制作哪家便宜鄭州seo方案
  • swf影視網(wǎng)站源碼上海最近3天疫情情況
  • 汕頭自助建站怎么開網(wǎng)站
  • 國內(nèi)優(yōu)秀網(wǎng)頁設(shè)計網(wǎng)站西安百度代運營
  • ip查詢網(wǎng)站臨沂seo建站
  • 保險網(wǎng)站大全百度q3財報2022
  • 做外貿(mào)一般用什么網(wǎng)站網(wǎng)絡(luò)營銷的主要內(nèi)容有哪些
  • 網(wǎng)站怎么做可以再上面輸入文字百度搜題
  • 網(wǎng)站開發(fā)項目描述海外域名