* 一般文件上传下载,都是通过二进制的格式进行(Blob)
* Blob 表示的不一定是JavaScript原生格式的数据。[
File]接口基于
Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
上传接口设置
export function uploadEncryptFile (file) {
return ngaRequest({
url: store.getters.nga_sever_url + '/api/basic/file/createFile',
method: 'post',
headers: {
'Content-Type': 'multipart/form-data' // 指定上传格式
},
data: file
})
}
上传接口传参
const formData = new FormData()
formData.append('file', this.tempUploadFile)
formData.append('encrypt', true)
const fileId = await uploadEncryptFile (formData)
下载
export function downloadOfflineContract (contractId) {
return ngaRequest({
url: store.getters.nga_sever_url + 'api/contract/downloadOfflineContract',
handleLossOfAccuracy: false,
method: 'get',
responseType: 'blob', // 指定下载格式
params: { contractId },
})
}
下载后,文件进行操作
const fileRes = await getFileStreamUsingGet(value)
const blob = new Blob([fileRes], {
type: "image/jpeg",
})
this.objectUrl = URL.createObjectURL(blob)
网友评论