wx上传下载文件

这篇博客详细介绍了在微信小程序中如何实现文件的上传和下载功能。通过`wx.chooseMessageFile`选择文件,然后使用`wx.uploadFile`上传至服务器,并在服务器端接收处理。同时,还展示了如何使用`wx.downloadFile`下载文件并用`wx.openDocument`预览。代码中涉及到的参数处理和文件操作函数清晰呈现了整个流程。
摘要由CSDN通过智能技术生成

上传附件 

bTapUpFile: function (e) { //上传附件文件 doc, xls, pdf
    let that = this;
    //var e.currentTarget.id;
    wx.chooseMessageFile({
      count: 1,
      type: 'file',
      success(res) {
        const tempFilePaths = res.tempFiles;
        console.log("临时路径:", tempFilePaths);
        wx.uploadFile({
          url: getApp().globalData.bUrl + 'wxImg.php', 
          filePath: tempFilePaths[0].path,
          name: 'file',
          formData: {
            projId: that.data.projId,
            projTitle: that.data.projTitle, //项目名称
            projItem: e.currentTarget.id,//项目子项过程
            upFileN: tempFilePaths[0].name,//上传的文件名
            nickName: getApp().globalData.userInfo.nickName,
            userName: wx.getStorageSync("username"),
            userUnit: wx.getStorageSync("userUnit"),
          },
          success(res) {
            const data = res.data
            console.log("data", data);
            wx.showToast({
              title: '上传成功',
              icon: 'success',
              duration: 2000
            })
          }
        });
      }
    })
  },

下载文件  

bTapDownFile: function (e) {// 下载文件
    let that = this;
    wx.downloadFile({
      url: getApp().globalData.bUrl + 'proImg/'+ that.data.projId+'/'+e.currentTarget.id,
      success: function (res) {
        var filePath = res.tempFilePath;
        console.log(res)
        wx.openDocument({
          showMenu:true,//这个参数一点要写,不然只能预览文档
          filePath: filePath,
          success: function (res) {
            console.log('打开文档成功')
          }
        })
      }
    })
  },

服务器端接收  

//接收传递参数
$projId = $_POST['projId']; //项目编号
$projDir = 'projImg/'.$projId.'/';//项目文件夹
newDir($projDir);
$projName = getProjName(trim($projId));//项目名称
$noteStr = $_POST["noteStr"];
$nickName = $_POST["nickName"];
$userName = $_POST["userName"];
$userId = empty($userName) ? $nickName : $userName;//注册用户或呢称
$userUnit = $_POST['userUnit']; //用户所在单位

$projItem = $_POST["projItem"];//上传附件
if($projItem){
   $tArr = explode("-",$projItem);    
   $projGep = $tArr[0];
   $projSub = $tArr[1];
   $kStr = $tArr[2];
   upFile($_FILES['file']['tmp_name'],$projDir.$_POST['upFileN']);//上传附件
   $wxFile = $_POST['upFileN'];
}else{
  $projGep = $_POST["projGep"];
  $projSub = $_POST["projSub"];
  $kStr = $_POST["kStr"];//子任务,关键字主题
  if(strstr($_POST["projSub"],"object")==false){//子过程项
    $projSub = $_POST["projSub"];    
  }else{
    $projSub = "";    
  }
}

if($Longi && $Lant ){//图片有经纬度
  $wxFile = "wx".date("YmdHis").".jpg";
  $Longi = $_POST['longi']; 
  $Lant = $_POST['lant']; 
  //$projGep = $_POST["projGep"]; //项目实施过程
  $UpLoc = $_POST['locTxt']; //拍摄地点
  upImgFile($_FILES['file']['tmp_name'],$projDir.$wxFile);//上传图片到指定目录
  thumbs($projDir.$wxFile,$projDir.$projId.".jpg",200,200);//文件拷贝并缩小
  thumbs($projDir.$wxFile,$projDir.$wxFile,560,560);//文件拷贝并缩小
}

ImgRecAdd($wxFile,$UpLoc);//新增项目日常记录

function upFile($tmpName,$upName){//上传文件移到指定目录
    if(move_uploaded_file($tmpName, $upName)){
        echo "The file ".basename($TempName)." has been uploaded successful.";
    }else{
        echo "Sorry, there was a problem uploading your file.failed";
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值