PHP實作微信小程式上圖片選擇及上傳到伺服器和預覽
這篇文章主要介紹了微信小程式圖片選擇、上傳到伺服器、預覽(PHP)實現實例的相關資料,需要的朋友可以參考下
微信小程式圖片選擇、上傳到伺服器、預覽(PHP)實作實例
小程式實作選擇圖片、預覽圖片、上傳到開發者伺服器上
後台使用的tp3.2 圖片上傳
請求時候的header參考時可以去掉(個人後台驗證權限使用)
#小程式前端程式碼:
<view class="section"> <form bindsubmit="bindFormSubmit"> <textarea placeholder="请输入问题内容" name="content"/> <view class=""> 选择提问图片: <label bindtap="checkimg">点击选择图片</label> </view> <view class=""> <image wx:for="{{imglist}}" mode="aspectFit" bindtap="ylimg" src="{{item}}" style="width:75px;height:75px;" src="{{item}}"></image> </view> <button form-type="submit"> 提交 </button> </form> </view>
小程式js程式碼:
data: { imglist:[] }, /** * form提交事件 */ bindFormSubmit:function(e){ self=this //图片 var imglist = self.data.imglist //提问内容 var content=e.detail.value.content; if(content==''){ wx.showToast({ title: '内容不能为空', icon: 'loading', duration: 1000, mask:true }) } wx.showLoading({ title: '正在提交...', mask:true }) //添加问题 wx.request({ url: 'https://xxxxxxxxxx/index.PHP?g=user&m=center&a=createwt', data: { content:content }, method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT header: app.globalData.header, // 设置请求的 header success: function (res) { // success if(typeof(res.data)=='number'){ if (imglist != '') { //开始插入图片 for(var i=0;i<imglist.length;i++){ //上传至服务器 wx.uploadFile({ url: 'https://xxxxxxxx/index.php?g=user&m=center&a=upload', //仅为示例,非真实的接口地址 filePath: imglist[0], name: 'files', formData: { 'wtid': res.data }, header: app.globalData.header, success: function (res) { if(i>=imglist.length){ self.setData({ imglist:[] }) wx.hideLoading(); wx.showToast({ title: '提问成功', icon: 'success', duration: 2000, mask: true }) wx.navigateBack({ delta: 1 }) } } }) } console.log(imglist); }else{ wx.hideLoading(); wx.showToast({ title: '提问成功', icon: 'success', duration: 2000, mask: true }) wx.navigateBack({ delta: 1 }) } }else{ wx.hideLoading(); wx.showToast({ title: res.data, icon: 'loading', duration: 1000, mask: true }) } }, fail: function (res) { self.onLoad(); } }) }, //点击选择图片 checkimg:function(){ console.log('点击选择图片'); self=this wx.chooseImage({ count: 9, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var tempFilePaths = res.tempFilePaths self.setData({ imglist:tempFilePaths }) } }) }, //点击预览图片 ylimg:function(e){ wx.previewImage({ current: e.target.dataset.src, urls: this.data.imglist // 需要预览的图片http链接列表 }) }
#php後台程式碼
//圖片上傳
public function upload(){ if(IS_POST){ $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->rootPath = './Uploads/'; // 设置附件上传根目录 $upload->savePath = ''; // 设置附件上传(子)目录 // 上传文件 $info = $upload->upload(); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 获取上传文件信息 //插入到数据库中 } } }
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
以上是PHP實作微信小程式上圖片選擇及上傳到伺服器和預覽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...
