php处理小程序上传图片,微信小程序上传图片,PHP-Laravel框架实现
流程概述:
利用微信小程序自帶的wx.uploadFile方法,將文件post 到服務器API接口,接受內(nèi)容,保存
image.png
為什么實例里邊沒有將 content-type 為 multipart/form-data 放進去呢,想不懂
image.png
直接上代碼
js 文件
/選擇上傳圖片
bindUploadTap:function(){
let that = this
wx.chooseImage({
count: 1, // 默認9
sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機,默認二者都有
success: function (res) {
// 返回選定照片的本地文件路徑列表,tempFilePath可以作為img標簽的src屬性顯示圖片
var tempFilePaths = res.tempFilePaths
that.setData({
imgsrc: tempFilePaths[0]
})
wx.uploadFile({
header: {
'content-type': 'multipart/form-data'
},
url: 'https://www.com/api/v1/Index/upload_img', //僅為示例,非真實的接口地址
filePath: tempFilePaths[0],
name: 'logo',
formData: {
'user': 'test'
},
success: function (res) {
var data = res.data
console.log(res)
//do something
}
})
}
})
},
wxml
選擇圖片
Laravel 控制器代碼
/*
* 上傳圖片測試
*/
public function upload_img(Request $request)
{
if(!empty($_FILES['logo'])){
Log::info($_FILES["logo"]["type"]."---".$_FILES["logo"]["name"]."---".$_FILES["logo"]["size"]);
$uploaddir = 'app/public/uploads/';
$uploadfile = $uploaddir . basename($_FILES['logo']['name']);
Log::info($uploadfile);
if (move_uploaded_file($_FILES['logo']['tmp_name'], storage_path($uploadfile))) {
Log::info( "File is valid, and was successfully uploaded.\n");
} else {
Log::info( "Possible file upload attack!\n");
}
}
$ret['err'] = 0;
$ret['msg'] = '成功';
return response()->json($ret, $this->successStatus);
}
效果圖
image.png
image.png
日志
[2017-08-11 02:27:35] local.INFO: image/jpeg---tmp_434479379o6zAJs7WmNGKeKBJtiDmL7hpsGkw546260158a109feb82ba9d97a6b18942.jpg---35955
[2017-08-11 02:27:35] local.INFO: app/public/uploads/tmp_434479379o6zAJs7WmNGKeKBJtiDmL7hpsGkw546260158a109feb82ba9d97a6b18942.jpg
[2017-08-11 02:27:35] local.INFO: File is valid, and was successfully uploaded.
image.png
說明上傳成功啦。
總結
以上是生活随笔為你收集整理的php处理小程序上传图片,微信小程序上传图片,PHP-Laravel框架实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java正则hitend,Java Ma
- 下一篇: mysql和hive的sql语句,hiv