本文主要介绍了微信小程序上传图片到服务器的实例代码,在文章给大家补充介绍了微信小程序上传一或多张图片
的方法,本文给大家介绍的非常详细,具有参考借鉴加载,需要的朋友可以参考下,希望能帮助到大家。
上传图片到服务器:
1.先在前端写一个选择图片的区域来触发wx.chooseimage接口并用wx.setstorage接口把图片路径存起来。
-wxml
<view class="shangchuan" bindtap="choose">
<image style="width:100%;height:100%;" src="{{tempfilepaths}}"></image>
</view>
<button formtype='submit' class="fabu">发布项目</button>
/**选择图片 */
choose: function () {
var that = this
wx.chooseimage({
count: 1,
sizetype: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourcetype: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var tempfilepaths = res.tempfilepaths
that.setdata({
tempfilepaths: res.tempfilepaths
})
console.log(res.tempfilepaths)
wx.setstorage({ key: card, data: tempfilepaths[0] })
}
})
},
2.使用wx.uploadfile将刚才上传的图片上传到服务器上
formsubmit2: function (e) {
var that = this
var card = wx.getstoragesync('card')
wx.uploadfile({
url: app.globaldata.create_funds,
filepath: card,
name: 'card',
formdata: {
'user_id': app.globaldata.user_id,
'person': e.detail.value.person,
'company': e.detail.value.company,
},
success: function (res) {
console.log(res)
}
})
}
}
},
ps: 微信小程序上传一或多张图片
一.要点
1.选取图片
wx.chooseimage({
sizetype: [], // original 原图,compressed 压缩图,默认二者都有
sourcetype: [], // album 从相册选图,camera 使用相机,默认二者都有
success: function (res) {
console.log(res);
var array = res.tempfilepaths, //图片的本地文件路径列表
}
})
2.上传图片
wx.uploadfile({
url: '', //开发者服务器的 url
filepath: '', // 要上传文件资源的路径 string类型!!!
name: 'uploadfile', // 文件对应的 key ,(后台接口规定的关于图片的请求参数)
header: {
'content-type': 'multipart/form-data'
}, // 设置请求的 header
formdata: { }, // http 请求中其他额外的参数
success: function (res) {
},
fail: function (res) {
}
})
二.代码示例
// 点击上传图片
upshoplogo: function () {
var that = this;
wx.showactionsheet({
itemlist: ['从相册中选择', '拍照'],
itemcolor: #f7982a,
success: function (res) {
if (!res.cancel) {
if (res.tapindex == 0) {
that.choosewximageshop('album')
} else if (res.tapindex == 1) {
that.choosewximageshop('camera')
}
}
}
})
},
choosewximageshop: function (type) {
var that = this;
wx.chooseimage({
sizetype: ['original', 'compressed'],
sourcetype: [type],
success: function (res) {
/*上传单张
that.data.orderdetail.shopimage = res.tempfilepaths[0],
that.upload_file(api_url + 'shop/shopicon', res.tempfilepaths[0])
*/
/*上传多张(遍历数组,一次传一张)
for (var index in res.tempfilepaths) {
that.upload_file(api_url + 'shop/shopimage', res.tempfilepaths[index])
}
*/
}
})
},
upload_file: function (url, filepath) {
var that = this;
wx.uploadfile({
url: url,
filepath: filepath,
name: 'uploadfile',
header: {
'content-type': 'multipart/form-data'
}, // 设置请求的 header
formdata: { 'shopid': wx.getstoragesync('shopid') }, // http 请求中其他额外的 form data
success: function (res) {
wx.showtoast({
title: 图片修改成功,
icon: 'success',
duration: 700
})
},
fail: function (res) {
}
})
},
相关推荐:
tp上传图片与生成缩略图功能的实现示例
jquery无刷新上传图片插件
对微信上传图片的技术讲解
以上就是实例详解微信小程序上传图片到服务器的详细内容。