官方文檔
https://developers.weixin.qq....
<view class="container"> <button bindtap="imgupload">上傳圖片</button> </view>
const app = getApp() Page({ data: { }, imgupload(){ wx.chooseImage({ success (res) { // 獲取選取的圖片 const tempFilePaths = res.tempFilePaths // 循環上傳每一張選取的圖片 for (var i = 0; i < tempFilePaths.length; i++) { wx.uploadFile({ url: '你的上傳服務端https接口', filePath: tempFilePaths[i], name: 'file', success (res){ const msg = JSON.parse(res.data).msg; const url = JSON.parse(res.data).url; const code = JSON.parse(res.data).code; if(JSON.parse(res.data).code == 200){ wx.showToast({ title: '成功', icon: 'success', duration: 1000 }) console.log(url) }else{ wx.showToast({ title: '上傳失敗', icon: 'error', duration: 1000 }) } console.log(msg) } }) } } }) } })
<?php header("Content-Type:application/json"); // 容許上傳的圖片後綴 $allowedExts = array("jpeg", "jpg", "png"); // 後綴名 if ($allowedExts[0] == 'jpeg') { $hzm = 'jpg'; }else{ $hzm = $allowedExts[0]; } // 獲取選擇的文件 $temp = explode(".", $_FILES["file"]["name"]); // 獲取文件後綴名 $extension = end($temp); if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 10485760) // 最大能夠上傳10MB && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { $result = array( 'code' => 201, 'msg' => '上傳失敗'.$_FILES["file"]["error"] ); } else { // 判斷當前目錄下的 upload 目錄是否存在該文件 // 若是沒有 upload 目錄,你須要建立它,upload 目錄權限爲 777 if (file_exists("upload/" . $_FILES["file"]["name"])) { $result = array( 'code' => 202, 'msg' => '文件已存在' ); } else { // 若是 upload 目錄不存在該文件則將文件上傳到 upload 目錄下 $new_file = date("Y-m-d")."-".rand(10000,99999).".".$hzm; move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$new_file); $result = array( 'code' => 200, 'msg' => '上傳成功', 'url' => '這裏是圖片路徑,本身修改你的後端代碼路徑'.$new_file ); } } } else { $result = array( 'code' => 203, 'msg' => '不支持的文件格式' ); } echo json_encode($result,JSON_UNESCAPED_UNICODE); ?>
(1)後端代碼須要在裏面修改你的代碼上傳到服務器所在的路徑,才能正常顯示上傳成功的圖片地址,例如你的代碼上傳到服務器根目錄下img目錄,那麼你須要將路徑修改成http://域名/img/upload
(2)還須要在index.php的同一目錄下新建一個名爲upload文件夾,這個是用來存放上傳後的圖片文件的。php
Author:TANKING
Date:2021-04-14
WeChat:sansure2016
Web:http://www.likeyun.cn/html