矩信
矩信
  • 发布:2021-12-02 14:33
  • 更新:2021-12-08 12:19
  • 阅读:306

【报Bug】createDownload ios 下载文件不完整

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.3.0

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: iphone xr

打包方式: 云端

示例代码:
                this.downloadObj = plus.downloader.createDownload(win.apiUrl + 'api/webApi/DownloadFile/', {  
                    method: 'POST',  
                    data: opts.dataPath + ',' + settings.userid + ',' + settings.token + ',JuChatPhone,1.0.0.1',  
                    filename: this.getSavePath(opts.dataPath, opts.fileName)  
                }, function(d, status) {  
                    // 下载完成  
                    if (status == 200) {  
                        // console.log("Download success: " + d.filename);  
                        opts.succee(d)  
                    } else {  
                        // console.log("Download failed: " + status);  
                        opts.failed(status)  
                    }  
                });  
                this.downloadObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');// 设置POST请求提交的数据类型为JSON字符串  
                this.downloadObj.start()

操作步骤:
                this.downloadObj = plus.downloader.createDownload(win.apiUrl + 'api/webApi/DownloadFile/', {  
                    method: 'POST',  
                    data: opts.dataPath + ',' + settings.userid + ',' + settings.token + ',JuChatPhone,1.0.0.1',  
                    filename: this.getSavePath(opts.dataPath, opts.fileName)  
                }, function(d, status) {  
                    // 下载完成  
                    if (status == 200) {  
                        // console.log("Download success: " + d.filename);  
                        opts.succee(d)  
                    } else {  
                        // console.log("Download failed: " + status);  
                        opts.failed(status)  
                    }  
                });  
                this.downloadObj.start()

预期结果:

下载成功,打开文件成功

实际结果:

ios 打开文件后出现“分享”,经查所下载的文件为 74b (问题容量)

bug描述:

ios 用 plus.downloader.createDownload post 方式 下载文件成功,但不完整,mp3 不能播放,doc 等不能打开..,adnroid 机没问题。
后端是 c# webapi。
经查,还要在 createDownload 下 start 之前设置请求头才行....

2021-12-02 14:33 负责人:无 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

是已经解决了吗?

  • 矩信 (作者)

    是,ios 在 start 之前设置一下请求头就可以了:

    downloader.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');

    android 就不用设置,设置了也没问题。

    2021-12-10 15:28

该问题目前已经被锁定, 无法添加新回复