小程序
小游戏
企业微信
微信支付
扫描小程序码分享
同标题
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
wx.request里面把responseType设成arraybuffer,然后成功之后wx.arrayBufferToBase64(res.data)转成base64。
getValidateCode:function(){
var that = this;
wx.request({
url: validateCodePath,
method:'get',
responseType: 'arraybuffer',
success:function(res){
const base64 = wx.arrayBufferToBase64(res.data);
that.setData({
validateCodePath: "data:image/png;base64," + base64
});
}
})
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这是我的例子,成功了,困扰了很多天。关键在于responseType: 'arraybuffer'
const base64 = wx.arrayBufferToBase64(res.data)
供大家参考。
wx.request({ url: `https://api.weixin.qq.com/cityservice/face/identify/getimage?access_token=33_jrZdgD8r-mFl7sFjuGViaNDYZKpOCbhqj7FVI2V6mMm5v5K4u8h`, data: { "verify_result": res.verifyResult }, responseType: 'arraybuffer', method: 'POST', success: (res) => { console.log('res', res) const base64 = wx.arrayBufferToBase64(res.data); this.setData({ imgsrc: 'data:image/jpg;base64,' + base64 })
不行啊,发送的是获取小程序码的请求,我无法控制啊
//获取小程序码
url:
"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="
+ getApp().globalData.access_token, //仅为示例,并非真实的接口地址
header: {
'content-type'
:
'application/json'
// 默认值
},
data:{
scene: json.content,
page:
"pages/news/detial"
,
width:430
method:
"POST"
success:
function
(res) {
var
json = res.data;
//获取的html文本信息
console.log(
'小程序码:'
)
console.log(res);
// that.setData({img: json})
wx.hideNavigationBarLoading();
其实wx.request( )返回的data图片数据本身就是错误,不管访问哪里的图片,都是错误的,不管他们承认不承认,
所以转为base64来显示就是一种奢想了,只能在服务器端请求了~~~
你好,还有一个办法就是可以让后端直接返回图片链接给你哈,(#^.^#)
也是,其实,也可能我根本就不想在服务器端保存文件,只是显示一个图片而已~~~
var that=this;
wx.downloadFile({
url:'**********'
success:function(e){
imgPath:e.tempFilePath
<image src='{{imgPaht}}' />
这样不行吗?
不是说这样不行,是说他wx.request( )有bug,当返回是图片时,其实应该是他们封装时出错了~~~
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
wx.request里面把responseType设成arraybuffer,然后成功之后wx.arrayBufferToBase64(res.data)转成base64。
getValidateCode:function(){
var that = this;
wx.request({
url: validateCodePath,
method:'get',
responseType: 'arraybuffer',
success:function(res){
const base64 = wx.arrayBufferToBase64(res.data);
that.setData({
validateCodePath: "data:image/png;base64," + base64
});
}
})
}
这是我的例子,成功了,困扰了很多天。关键在于responseType: 'arraybuffer'
const base64 = wx.arrayBufferToBase64(res.data)
供大家参考。
wx.request({ url: `https://api.weixin.qq.com/cityservice/face/identify/getimage?access_token=33_jrZdgD8r-mFl7sFjuGViaNDYZKpOCbhqj7FVI2V6mMm5v5K4u8h`, data: { "verify_result": res.verifyResult }, responseType: 'arraybuffer', method: 'POST', success: (res) => { console.log('res', res) const base64 = wx.arrayBufferToBase64(res.data); this.setData({ imgsrc: 'data:image/jpg;base64,' + base64 })
不行啊,发送的是获取小程序码的请求,我无法控制啊
wx.request({
//获取小程序码
url:
"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="
+ getApp().globalData.access_token, //仅为示例,并非真实的接口地址
header: {
'content-type'
:
'application/json'
// 默认值
},
data:{
scene: json.content,
page:
"pages/news/detial"
,
width:430
},
method:
"POST"
,
success:
function
(res) {
var
json = res.data;
//获取的html文本信息
console.log(
'小程序码:'
)
console.log(res);
// that.setData({img: json})
wx.hideNavigationBarLoading();
}
})
其实wx.request( )返回的data图片数据本身就是错误,不管访问哪里的图片,都是错误的,不管他们承认不承认,
所以转为base64来显示就是一种奢想了,只能在服务器端请求了~~~
你好,还有一个办法就是可以让后端直接返回图片链接给你哈,(#^.^#)
也是,其实,也可能我根本就不想在服务器端保存文件,只是显示一个图片而已~~~
var that=this;
wx.downloadFile({
url:'**********'
success:function(e){
that.setData({
imgPath:e.tempFilePath
});
}
})
<image src='{{imgPaht}}' />
这样不行吗?
不是说这样不行,是说他wx.request( )有bug,当返回是图片时,其实应该是他们封装时出错了~~~