微信小程序 上传pdf文件

734 阅读1分钟
  • 先调用wx.chooseMessageFile调起文件夹选择文件
  • 然后调用wx.uploadFile进行下载文件
        wx.chooseMessageFile({
            count: 1,
            type: 'file',
            success(res) {
                let tempFilePaths = res.tempFiles[0].path;  
                let fileName = res.tempFiles[0].name;
                let fileSize = parseInt(res.tempFiles[0].size/1024);
                console.log(fileSize);
                if (fileName.indexOf(".pdf") == -1) {
                    wx.showToast({
                        title: '文件格式必须为pdf!',
                        icon: "none",
                        duration: 2000,
                    })
                    return false;
                }
                if (fileSize > 1024 * 2) {
                    wx.showToast({
                        title: '上传文件大小不能超过2M',
                        icon: "none",
                        duration: 2000,
                    })
                    return false;
                }
                console.log(tempFilePaths)
                wx.uploadFile({
                    url: `${baseUrl}/api/common/upload`,
                    // method:'post',
                    filePath: tempFilePaths,
                    name: 'file',
                    header: {
                        'X-Access-Token': wx.getStorageSync('token'),
                        'content-type': 'multipart/form-data'
                    },
                    formData: {
                        fileName: fileName
                    },
                    success(res) {
                       console.log(res)
                        if (res.statusCode == 200) {
                          let resData = JSON.parse(res.data);
                          console.log(resData);
                          wx.showToast({
                              title: '上传成功',
                              duration: 2000,
                              icon: 'none'
                          })
                          let obj = {
                              fileName:fileName,
                              fileSize:fileSize,
                              fileUrl:resData.message
                          }
                          _this.setData({
                              submitlist:objlist
                          })
                        } else {
                            wx.showToast({
                                title: res.errMsg,
                                icon: 'none'
                            })
                        }
                    }
                })
            }
        })