Le projet vue réalise le téléchargement d'images sur Tencent Cloud

Les préparatifs

En npm i cos-js-sdk-v5téléchargeant cos-js-sdk-v5, puis dans le composant de téléchargement des images, en import COS from 'cos-js-sdk-v5'introduisant cos-js-sdk-v5.

l'extrémité avant

Analyse : voici le composant de téléchargement de fichiers dans l'élément ui, action signifie l'adresse de téléchargement ; http-request signifie remplacer le comportement de téléchargement par défaut, vous pouvez personnaliser l'implémentation de téléchargement, le type est une fonction, donc le téléchargement ici est une fonction ; limit Indique le nombre maximum d'images pouvant être téléchargées ; list-type indique le type de liste de fichiers ; on-change indique que la fonction sera déclenchée lorsque le téléchargement du fichier a réussi ou échoué ; le téléchargement automatique indique s'il faut télécharger le fichier. fichier immédiatement après avoir sélectionné le fichier ; dialogVisible indique quand l'image Une fois le téléchargement réussi, l'image sera affichée sur la page ; imgURL indique l'adresse URL de l'image une fois le téléchargement réussi ;

<div style="display:flex;">
              <span style="display: inline-block;width: 91px;">身份证头像:</span>
              <el-upload
                action="#"
                :http-request="uploadImg"
                :limit='1'
                list-type="picture-card"
                :on-change="changeHandle"
                :auto-upload="true"
              >
                <i class="el-icon-plus" />
              </el-upload>
              <el-dialog :visible.sync="dialogVisible" append-to-body>
                <img width="100%" :src="imgURL" alt="">
              </el-dialog>
            </div>

partie js

Dans la page qui implémente le téléchargement d'images, introduisezimport COS from 'cos-js-sdk-v5'

import COS from 'cos-js-sdk-v5
data(){
	return{
	// 修改作品信息弹窗显示与否
      dialogVisible: false,
      // 图片文件
      imgFile: '',
      // 图片文件名称
      fileName: '',
      // 上传成功后的地址
      imgURL: '',
	}
},
methods:{
	// 获取该文件的对象,如下图1-1
    changeHandle (file, fileList) {
      this.imgFile = file
      this.fileName = file.name
    },
  // 实现上传图片
  uploadImg () {
      // 创建COS实例  获取签名
      //这里写你们后端提供的请求接口即可,这里调用的接口是为了获取tmpSecretId、tmpSecretKey、sessionToken、expiredTime这些值
      this.axios.post('接口地址').then(res=>{
        const data = res.data.content
        const cos = new COS({
        // 必选参数
        getAuthorization: (options, callback) => {
          const obj = {
            TmpSecretId: data.tmpSecretId,
            TmpSecretKey: data.tmpSecretKey,
            XCosSecurityToken: data.sessionToken,
            StartTime: data.startTime, // 时间戳,单位秒,如:1580000000
            ExpiredTime: data.expiredTime // 时间戳,单位秒,如:1580000900
          }
          callback(obj)
          // 上传图片  其中Bucket 和 Region找你们负责人拿,Bucke和Region是由公司负责人使用公司账户,登入腾讯云,获取回来的。
          //key 在前面加上路径写法可以生成文件夹
          cos.putObject({
            Bucket: 'xunahua-face-1307070664', /* 必须 */
            Region: 'ap-beijing', /* 存储桶所在地域,必须字段 */
            Key: '/img/' + new Date().getTime() + this.fileName, /* 必须 */
            StorageClass: 'STANDARD',
            Body: this.imgFile.name, // 上传文件对象
            onProgress: progressData => {
            }
          }, (err, data) => {
            // 将上传后的封面进行路径拼接保存到本地
            // console.log(err || data)
            const url = 'https://' + data.Location
            this.imgURL = url
          })
        }
      })
      })
    },

}

insérer la description de l'image ici
Figure 1-1 Informations sur l'objet après la sélection d'une image

Je suppose que tu aimes

Origine blog.csdn.net/i96249264_bo/article/details/119966429
conseillé
Classement