前端(.wxml)

<view id="view1">
<view id="btns">
<image id="ima1" mode="aspectFitf" src="{{src}}"></image>
<button type="primary" bindtap="btntakephoto">拍摄照片</button>
<button type="primary" bindtap="btnchoosephoto">选择照片</button>
<button type="primary" bindtap="btnupload">上传</button>
</view>
</view>

样式(wxss)

button{
margin: 8rpx;
padding: 0rpx;
font-size: 30rpx;
width: 200rpx;
float: left;
}
#view1
{
width: %;
height: %;
}
#btns
{
margin: 50rpx;
padding: 0rpx;
}
image{
width: 650rpx;
height: 1050rpx;
background-color: lavender;
}

js(.js)

Page({
data: {
filepath:"",
},
onLoad: function (options) {
this.ctx = wx.createCameraContext()
},
//拍摄照片
btntakephoto: function () {
this.ctx.takePhoto({
quality: 'high',
success: (res) => {
this.setData({
src: res.tempImagePath,
filepath: res.tempImagePath[],
})
}
})
},
//选择照片
btnchoosephoto: function() {
wx.chooseImage({
count: , // 默认9
sizeType: ['original'],
sourceType: ['camera'],
success:(res) => {
this.setData({
src: res.tempFilePaths[],
filepath: res.tempFilePaths[],
});
}
})
},
//上传图片
btnupload: function () {
if (this.data.filepath == "")
{
wx.showToast({
title: '没有选择图片',
icon: 'none',
duration:
})
}
else
{
wx.uploadFile({
url: 'http://localhost:9965/api/image/WxPostFile',
filePath: this.data.filepath,
name: 'file',
formData: {
filename: ''
},
success(res) {
console.log(res);
wx.showToast({
title: "上传成功",
icon: 'success',
duration:
})
}
})
}
}
})

json配置(.json)

{
"navigationBarTitleText": "上传图片",
"navigationBarBackgroundColor": "#003a9b",
"navigationBarTextStyle": "white"
}

后台c#

 #region 测试微信小程序图片上传
[HttpPost]
public HttpResponseMessage WxPostFile()
{
bool isSuccess = false;
try
{
HttpPostedFile file = HttpContext.Current.Request.Files[];
var filename = HttpContext.Current.Request["filename"];
string path = AppDomain.CurrentDomain.BaseDirectory + "Out";
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
//var mapPath = HttpContext.Current.Server.MapPath(path); //硬盘物理目录
var fileExt = Path.GetExtension(file.FileName);//文件后缀名(.png)
var mapPathFullPath = path + "\\" + filename + fileExt; //硬盘物理路径
file.SaveAs(mapPathFullPath);
isSuccess = true;
}
catch (Exception ex)
{
isSuccess = false;
}
var resultObj = JsonConvert.SerializeObject(isSuccess);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(resultObj, Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
#endregion

本地测试

微信小程序上传图片及本地测试的更多相关文章

  1. H5本地存储技术和微信小程序中的本地存储

    1.H5的本地存储 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. 微信小程序 上传图片并等比列压缩到指定大小

    微信小程序官方API中  wx.chooseImage() 是可以进行图片压缩的,可惜的是不能压缩到指定大小. 实际开发中需求可能是压缩到指定大小: 原生js可以使用canvas来压缩,但由于微信小程 ...

  3. 微信小程序环境搭建(本地,测试,生产)

    1.本地 官网文档链接:https://cloud.tencent.com/document/product/619/11442#.E6.9C.AC.E5.9C.B0.E5.A6.82.E4.BD.9 ...

  4. 微信小程序如何进行本地调试

    1.下载并使用微信开发者工具 2.将项目导入工具 3.在项目中修改请求http地址 4.在工具上点击“测试号”,跳转到测试号管理界面设置request合法域名. 注意这里输入的测试域名要和上一步相同. ...

  5. 微信小程序上传图片(附后端代码)

    几乎每个程序都需要用到图片. 在小程序中我们可以通过image组件显示图片. 当然小程序也是可以上传图片的,微信小程序文档也写的很清楚. 上传图片 首先选择图片 通过wx.chooseImage(OB ...

  6. .NET开发微信小程序-上传图片到服务器

    1.上传图片分为几种: a:上传图片到本地(永久保存) b:上传图片到本地(临时保存) c:上传图片到服务器 a和b在小程序的api文档里面有.直接说C:上传图片到服务器 前端代码: /* 上传图片到 ...

  7. 微信小程序加载本地图片方法

    目录结构如下,只要图片按正确的方式放入小程序的开发工具的项目中,即可在wxml文件中用内联样式或者image标签都可以引用本地的图片. 步骤一:微信开发工具 打开项目 步骤二:新建个文件夹(放项目的一 ...

  8. (十)微信小程序---上传图片chooseImage

    官方文档 示例一 wxml <view bindtap="uploadImage">请上传图片</view> <image wx:for=" ...

  9. 微信小程序上传图片(前端+PHP后端)

    一.wxml文件 <text>上传图片</text> <view> <button bindtap="uploadimg">点击选择 ...

随机推荐

  1. redis常见7种使用场景

    一,简单字符串缓存实例 $redis->connect('127.0.0.1', 6379); $strCacheKey = 'Test_bihu'; //SET 应用 $arrCacheDat ...

  2. wait_timeout 和 interactive_timeout

    wait_timeout 和 interactive_timeout Table of Contents 1. 参数说明 2. 原代码 3. interactive_timeout覆盖wait_tim ...

  3. 数据分析 - Excel 函数, 技巧, 分析工具

    数据分析工具使用场景 函数 分类 文本清洗函数 FIND - 查找 find 函数查询指定位置的某字符的的位置 快捷键 : 选中后双击右下角的 + 可以快速生成当前一列结果 FIND("查询 ...

  4. springboot自定义filter获取spring容器bean对象

    今天在自己定义的filter中,想要直接注入spring容器的其它bean进行操作,发现不能正常的注入: 原因:web容器加载顺序导致, 加载顺序是listener——filter——servlet, ...

  5. RedHat Enterprise7 修改为CentOS的yum源

    报错 解决 1.将自带的yum卸载掉 2.下载centos的yum并安装 wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-met ...

  6. Jmeter 时间函数

    1.参数值是日期,而日期是当前时间:用__time函数,生成任意格式时间 把生成的函数字符串直接复制粘贴即可使用 2.参数是昨天或者明天,即以当前时间为基准,增加或减少固定时间的,可以用__timeS ...

  7. Collection Map Java数据结构

    Collection Map 框架图 Collection          接口的接口   对象的集合 ├ List                   子接口      按进入先后有序保存   可 ...

  8. Java Unsigned Bytes

    Having had to use unsigned bytes for the first time, I also had to learn how Java references these d ...

  9. 使用Visual Studio Code Coverage和nunit上传单元测试覆盖率和单元测试结果到SonarQube上

    SonarQube.Scanner.MSBuild.exe begin /k:"OMDCCQuotes" /d:sonar.host.url="http://myip:9 ...

  10. linux无密钥登陆

    1.在用户目录下执行命令 ssh-keygen -t rsa 一路回车: 2.在当前用户目录下,进入.ssh文件夹(.ssh文件夹为隐藏文件夹,直接进去即可). 在.ssh文件夹下执行命令: cat ...