js二进制流下载,文件上传

二进制流转成文件下载

this.$api.ExportAPI({responseType: 'blob'}).then(data => {
	// 这里的data是接口ExportAPI返回的二进制数据流
	let eleLink = document.createElement('a')
	// type值为txt或csv,导出为.txt格式和.csv格式(Excel打开的格式)
    eleLink.download = '导出文件名' + `.${type.toLowerCase()}`
    eleLink.style.display = 'none'
    let blob = new Blob([data])
    eleLink.href = URL.createObjectURL(blob)
    document.body.appendChild(eleLink)
    eleLink.click()
    URL.revokeObjectURL(eleLink.href)
    document.body.removeChild(eleLink)
})

文件上传二进制参数

<el-upload
	...
	:file-list="fileList">
</el-upload>
const obj = {
	name: 'Jane',
	age: 31,
	file: this.fileList[0].raw
}
const params = new FormData()
for(const key in obj) {
	params.append(key, obj[key])
}
this.$api.post('/api/list/importlist', params).then(() => {})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 中实现上传二进制文件的接口,一般步骤如下: 1. 获取文件对象:使用输入类型为文件的 HTML 元素(如<input type="file">)或拖放上传功能,获取用户选择的文件对象。 2. 创建 XMLHttpRequest 对象:使用 JavaScript 中的 XMLHttpRequest 对象,创建与服务器的通信。 3. 设置请求参数:使用 XMLHttpRequest 对象的 open 方法,指定上传方法(如POST)、URL 和是否异步执行等参数。 4. 设置请求头信息:使用 XMLHttpRequest 对象的 setRequestHeader 方法,设置请求头信息,包括文件类型、文件名等。 5. 监听上传进度:使用 XMLHttpRequest 对象的 upload.onprogress 事件,实时获取上传进度。 6. 监听上传结果:使用 XMLHttpRequest 对象的 onload 和 onerror 事件,分别监听上传成功和失败的结果。 7. 发送请求:使用 XMLHttpRequest 对象的 send 方法,将二进制文件发送至服务器。 8. 处理上传结果:在 onload 事件监听函数中,根据服务器返回的响应数据进行相应的处理,如显示上传成功信息或错误提示。 以下是一个简单的示例代码: ```javascript function uploadFile(file) { var xhr = new XMLHttpRequest(); xhr.open("POST", "/upload", true); xhr.setRequestHeader("Content-Type", file.type); xhr.setRequestHeader("Content-Disposition", "attachment; filename=" + file.name); xhr.upload.onprogress = function(event) { if (event.lengthComputable) { var percentage = Math.round((event.loaded / event.total) * 100); console.log("Progress: " + percentage + "%"); } }; xhr.onload = function() { if (xhr.status === 200) { console.log("File uploaded successfully."); } else { console.log("Upload failed. Error code: " + xhr.status); } }; xhr.onerror = function() { console.log("Upload failed. Please try again later."); }; xhr.send(file); } ``` 以上代码仅为示例,具体实现需根据具体业务需求进行调整和完善。同时,在服务器端也需要相应的接口和处理逻辑来接收并保存上传的二进制文件

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值