【Vue-Element】el-upload将文件转为Blob类型

本文展示了如何在Vue2应用中使用JS将上传的文件转换为Blob类型。通过`el-upload`组件实现文件上传,然后在`onUploadChange`回调中,将文件原始数据转换成Blob对象,便于进一步的文件操作。示例代码详细说明了转换过程。
摘要由CSDN通过智能技术生成

el-upload将文件转为Blob类型


参考了很多内容,这个最直接:

1、Vue

 <el-upload
    class="upload-demo upload-tip"
     drag
     ref="upload"
     :action="uploadUrl()"   
     :auto-upload="false"      
     :on-change="onUploadChange"
     multiple>
     <i class="el-icon-upload"></i>
     <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
     <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
 </el-upload>

2、JS

onUploadChange(file){
      const that = this
      const _file = file.raw;
      let blob = new Blob([_file], { type: "audio/wav"});
      console.log('blob:', blob);
}
Vue.js中,使用Element UI库的`El-upload`组件可以从指定URL下载文件,可以结合axios等HTTP客户端库来获取远程文件。这里是一个基本的例子: 首先,你需要安装`axios`和`element-plus`(如果还没安装): ```bash npm install axios element-plus ``` 然后,在你的Vue组件中,设置一个`methods`对象,并创建一个下载函数: ```html <template> <el-upload ref="upload" :url="downloadUrl" action="" method="get" :on-download="handleDownload" ></el-upload> </template> <script setup> import { ref } from 'vue'; import axios from 'axios'; const downloadUrl = "your-file-url"; // 替换为你需要下载的文件URL function handleDownload() { const uploadRef = ref(null); // 获取El-upload实例 if (!uploadRef.value) { console.error('Upload ref not available'); return; } axios.get(downloadUrl) .then(response => { // 当请求成功时,可以直接设置fileList属性,这将会触发上传按钮的下载事件 uploadRef.value.fileList = [response.data]; // response.data应该是file对象,如File API返回的Blob }) .catch(error => { console.error('Error downloading file:', error); }); } </script> ``` 在这个例子中,当用户点击上传按钮时,会触发下载函数`handleDownload`,它会发送GET请求到指定URL并获取文件。一旦请求成功,文件会被添加到`fileList`里,这将导致组件自动开始下载。 注意:在实际项目中,可能还需要处理文件类型的验证、进度显示等细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值