el-upload上传文件修改文件名称(使用传参方法)

946 阅读1分钟
 我们平时都有上传文件的经历,但是上传中难免会出现重复上传,对图片可能影响不大,但是对于上传文件特别时APK,比如:微信.apk,这个apk名称都是微信,但是有V1.0和V20版本,你重复上传会被覆盖,对于后端也不好管理,怎么办?后端要求你上传到文件服务器时,把APK名称改成唯一的名字。

我这里是要上传APK到文件服务器,这里后端要求我上传的时候修改APK名称(目的是为了确保唯一的,这个不重要)。

终于找到一个参考了:blog.csdn.net/weixin_4013…

直接使用 :data={参数} ,参数为键值对的形式{key1:value1,key2:value2},传递参数

所以我就添加绑定了:data=“apkfilename”.因为是后端给我生成唯一的值,所以我需要赋值,不然可以直接:data={APKName:“asdsadhjsdh2123123sasd.apk”}自定义。

<el-upload
                        class="upload-demo"
                        ref="upload"
                        :auto-upload="false"
                        accept=".apk"
                        :limit="1"
                        :on-exceed="handleExceed"
                        :before-remove="beforeRemove"
                        :on-success="handleAvatarSuccess"
                        :on-error="handleAvatarError"
                        :data="apkfilename"
                        :action="uploadURL"
   
                        :on-change="appSelect1"
                    >
                        <el-button slot="trigger" size="small" type="primary" >选取文件</el-button>
                        <div slot="tip" class="el-upload__tip">注意:选择APK后系统自动命名,请忽略!</div>
                        <!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
                    </el-upload>

然后是apkfilename的方法来接收后端提供的名称。

var appfilename = tt.strName+".apk";//tt.strName这个是后端给的名字,所以这里是parser.file.name20210624094432988.apk
this.apkfilename={appName:appfilename};//appName这个是后端做的接口,你把appfilename 传过去就行了,它会自动对文件重命名

这个就是在上传文件时传参的作用,上传后重命名,防止用户重复提交会覆盖,或者标识唯一的文件,这个看自己的用途。