微信小程序批量上(shàng)傳圖片(帶php服務端源碼!!!) ... - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

微信小程序批量上(shàng)傳圖片(帶php服務端源碼!!!) ...

發表時(shí)間:2021-4-22

發布人(rén):融晨科技

浏覽次數:80

官方文檔
https://developers.weixin.qq....

index.wxml

class="container">
  <button bindtap="imgupload">上(shàng)傳圖片button>
view>

index.js

const app = getApp()

Page({
  data: {
   
  },
  imgupload(){
    wx.chooseImage({
      success (res) {
        // 獲取選取的(de)圖片
        const tempFilePaths = res.tempFilePaths
        // 循環上(shàng)傳每一張選取的(de)圖片
        for (var i = 0; i < tempFilePaths.length; i++) {
          wx.uploadFile({
            url: '你的(de)上(shàng)傳服務端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: '上(shàng)傳失敗',
                  icon: 'error',
                  duration: 1000
                })
              }
              console.log(msg)
            }
          })
        }
      }
    })
  }
})

index.php


header("Content-Type:application/json");

// 允許上(shàng)傳的(de)圖片後綴
$allowedExts = array("jpeg", "jpg", "png");

// 後綴名
if ($allowedExts[0] == 'jpeg') {
    $hzm = 'jpg';
}else{
    $hzm = $allowedExts[0];
}

// 獲取選擇的(de)文件
$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)   // 最大(dà)可以(yǐ)上(shàng)傳10MB
&& in_array($extension, $allowedExts))
{
    if ($_FILES["file"]["error"] > 0)
    {
        $result = array(
            'code' => 201,
            'msg' => '上(shàng)傳失敗'.$_FILES["file"]["error"]
        );
    }
    else
    {
        
        // 判斷當前目錄下的(de) upload 目錄是(shì)否存在(zài)該文件
        // 如果沒有 upload 目錄,你需要(yào / yāo)創建它,upload 目錄權限爲(wéi / wèi) 777
        if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
            $result = array(
                'code' => 202,
                'msg' => '文件已存在(zài)'
            );
        }
        else
        {
            // 如果 upload 目錄不(bù)存在(zài)該文件則将文件上(shàng)傳到(dào) 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' => '上(shàng)傳成功',
                'url' => '這(zhè)裏是(shì)圖片路徑,自己修改你的(de)後端代碼路徑'.$new_file
            );
        }
    }
}
else
{
    $result = array(
        'code' => 203,
        'msg' => '不(bù)支持的(de)文件格式'
    );
}

echo json_encode($result,JSON_UNESCAPED_UNICODE);
?>

使用說(shuō)明

(1)後端代碼需要(yào / yāo)在(zài)裏面修改你的(de)代碼上(shàng)傳到(dào)服務器所在(zài)的(de)路徑,才能正常顯示上(shàng)傳成功的(de)圖片地(dì / de)址,例如你的(de)代碼上(shàng)傳到(dào)服務器根目錄下img目錄,那麽你需要(yào / yāo)将路徑修改爲(wéi / wèi)http://域名/img/upload
(2)還需要(yào / yāo)在(zài)index.php的(de)同一目錄下新建一個(gè)名爲(wéi / wèi)upload文件夾,這(zhè)個(gè)是(shì)用來(lái)存放上(shàng)傳後的(de)圖片文件的(de)。

Author:TANKING
Date:2021-04-14
WeChat:sansure2016
Web:http://www.likeyun.cn/

相關案例查看更多