ストリームファイルを直接ダウンロードするプロセス
```javascript
wx.downloadFile({
url: app.globalData.url + '/material/handleBlackFileDownload?id=' + id,
success(res) {
console.log(res)
if (res.statusCode === 200) {
filePath = res.tempFilePath
wx.saveFile({
tempFilePath: filePath,
success(res) {
const savedFilePath = res.savedFilePath
that.setData({
downLoading: false
})
wx.openDocument({
filePath: savedFilePath,
fileType: fileType,
success: function (response) {
$Message({
content: '文件下载成功,打开中',
type: 'success'
})
},
fail: function (res) {
$Message({
content: '文件下载成功,打开失败,请手动打开',
type: 'error'
})
}
})
},
fail(err){
$Message({
content: '文件保存失败',
type: 'error'
})
}
})
} else {
$Message({
content: '文件下载失败',
type: 'error'
})
}
},
fail(err) {
that.setData({
downLoading: false
})
console.log(err)
$Message({
content: '文件为空,下载失败',
type: 'error'
})
}
}).onHeadersReceived(header => {
console.log(header)
fileType = header.header["Content-Disposition"].split('.')[1]
})
注:
1。ファイルを開く関数はファイルの形式で渡す必要があります。最初に、ファイル形式のタイプは応答から取得され、iOS側はエラーを報告します。正しい操作はonHeadersReceiverから取得することです。機能
。2 。ファイルが空の場合、一部の携帯電話でもエラーが報告されますが、特定の携帯電話をテストしていません。iosとAndroidの違いはないため、ファイルは空ですが、プロンプトメッセージは表示されます。