文件转成binary流

	var reader = new FileReader();
    reader.readAsArrayBuffer(file)
    reader.onload = function(e) {
    //如果文件需要参数
    //const formdata=new FormData()
    //formdata.append('file',e.target.result)
      axios.post(url, e.target.result, {
        headers: {
          'Authorization': 'Bearer ' + window.localStorage.token,
          'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
        }
      }).then(res=>{
  
      })
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 JavaScript 的 atob() 函数将 base64 编码的字符串换为原始二进制数据。然后,您可以使用诸如 File、Blob 等对象创建一个文件。 下面是一个例子: ``` // 将 base64 编码的字符串换为二进制数据 const binaryData = atob(base64String); // 将二进制数据换为 Uint8Array const uint8Array = new Uint8Array(binaryData.length); for (let i = 0; i < binaryData.length; i++) { uint8Array[i] = binaryData.charCodeAt(i); } // 创建文件 const file = new File([uint8Array], fileName, { type: mimeType }); ``` 希望这能帮到你! ### 回答2: 在JavaScript中,可以使用`FileReader`和`Blob`对象来将Base64换为文件。 首先,我们需要将Base64字符串换为Blob对象。可以使用`atob()`函数将Base64字符串解码为二进制数据,并将其存储在一个数组缓冲区中。然后,可以通过创建一个Uint8Array视图来获取该缓冲区的内容。接下来,我们可以使用`Blob`对象的构造函数将Uint8Array视图换为Blob对象。 以下是将Base64换为Blob对象的示例代码: ```javascript function base64ToBlob(base64String) { const byteCharacters = atob(base64String); const byteArrays = []; for (let offset = 0; offset < byteCharacters.length; offset += 512) { const slice = byteCharacters.slice(offset, offset + 512); const byteNumbers = new Array(slice.length); for (let i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } const byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray); } const blob = new Blob(byteArrays); return blob; } ``` 接下来,我们可以将Blob对象的URL传递给`FileReader`对象,以便将其换为文件。`FileReader`对象的`readAsDataURL()`方法可用于读取Blob对象,并在加载完后触发`onload`事件。在`onload`事件处理程序中,我们可以通过`result`属性获取加载的文件。 以下是将Blob对象换为文件的示例代码: ```javascript function blobToFile(blob, fileName) { const fileReader = new FileReader(); fileReader.onload = function(event) { const fileStream = event.target.result; // 在这里可以处理文件 console.log(fileStream); }; fileReader.readAsDataURL(blob); } ``` 现在,您可以使用`base64ToBlob()`函数将Base64字符串换为Blob对象,并使用`blobToFile()`函数将Blob对象换为文件。在文件可用后,您可以在`onload`事件处理程序中进行进一步的处理,如将其发送到服务器或进行其他操作。 ### 回答3: 将JS中的Base64字符串换为文件的方法如下: 1. 首先,我们需要获取到Base64字符串。可以通过某个API接口或其他方式从服务器获取到Base64字符串。假设我们已经获取到了Base64字符串。 2. 创建一个新的FileReader对象:`var reader = new FileReader();` 3. 创建一个新的Blob对象,将Base64字符串换为二进制数据:`var blob = new Blob([base64Data], {type: 'application/octet-stream'});` 其中,base64Data是获取到的Base64字符串。 4. 使用FileReader对象读取Blob中的数据:`reader.readAsDataURL(blob);` 5. 当读取完时,FileReader对象的`onload`事件会触发。在该事件的回调函数中,可以获取到换后的文件数据:`var fileStream = reader.result;` 这样,我们就获取到了Base64字符串换后的文件数据。 6. 最后,可以将文件保存到本地或进行其他操作。例如,使用`a`标签设置`download`属性并设置`href`为文件数据,就可以实现文件下载功能。 以上就是将JS中的Base64字符串换为文件的方法。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值