世上本没路;走的人多了,便成了路。

dd.uploadFile({
url: '请使用自己服务器地址',
fileType: 'image',
fileName: 'file',
filePath: '...',
success: (res) => {
dd.alert({
content: '上传成功'
});
},
});

这就是官网上的例子,没有后端的。但是我猜这是用"Form"进行post提交的,那脑补后端可以在post请求的boby里获取这个文件。以下是成功的后端代码:

 /// <summary>
/// 用户上传头像
/// </summary>
/// <param name="formCollection">Boby</param>
/// <param name="userid">userid</param>
/// <returns></returns>
[HttpPost, Route("postPhotoImage")]
public StatusCodeResult UserPostPhotoImage([FromForm] IFormCollection formCollection, string userid)
{
if (formCollection.Files.Count > )
{
var emp = JsonConvert.DeserializeObject<EmployeeDTO>(GetEmployeeInfo(userid));
string photo_path = @"C:\apache-tomcat-7.0.90\webapps\default\employeesProfilePicture\";
string photo_file = photo_path + emp.jobnumber + ".jpg";
if (System.IO.File.Exists(photo_file))
System.IO.File.Delete(photo_file);
try
{
#region 存储文件
using (FileStream fs = System.IO.File.Create(photo_file))
{
var file = formCollection.Files[];
file.CopyTo(fs);
int photo_width = ;
int photo_height = ;
Image img = ZoomImage(Image.FromStream(fs), photo_height, photo_width);
using (MemoryStream msResult = new MemoryStream())
{
Image resultImgage = new Bitmap(photo_width, photo_height);
Graphics g = Graphics.FromImage(resultImgage);
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.Clear(Color.White);
g.DrawImage(img, new RectangleF(, , photo_width, photo_height));
resultImgage.Save(msResult, ImageFormat.Png);
byte[] buffer = new byte[msResult.Length];
msResult.Seek(, SeekOrigin.Begin);
msResult.Read(buffer, , buffer.Length);
msResult.Close();
fs.Write(buffer, , buffer.Length);
}
fs.Flush();
Console.WriteLine(Environment.NewLine + "=========================*===========================");
Console.WriteLine(DateTime.Now + "->:Upload Photo,FileName:" + fs.Name);
Console.WriteLine("=========================*===========================" + Environment.NewLine);
}
#endregion
return Ok();
}
catch (Exception)
{
return BadRequest();
}
}
else
return BadRequest();
}

大伙需要注意[FromForm]标记,[FromBoby]是获取不到的!

let debug_domain='http://cquni.vaiwan.com:8771/api/ECard';
let domain ="http://218.?.?.?:8771/api/ECard";
let post_url=domain+'/postPhotoImage';
let photo_path='';
let current_user=''; Page({
data: {
src: ''
},
onLoad(query) {
current_user=query.userid;
},
photoselect(event){
let that = this;
dd.chooseImage({
count: 1,
success: (res) => {
photo_path=res.filePaths[0];
that.setData({
src:res.filePaths[0]
});
},
});
},
postimage(event){
const file_url = post_url+'?userid='+current_user;
if (photo_path==''){
dd.alert({
title:'出错啦!',
content: '请先选取或拍摄照片!预览满意后再提交上传。',
buttonText:'我晓得了'
});
return;
}
//dd.alert({content:file_url});
dd.uploadFile({
url: file_url,
fileType: 'image',
fileName: 'employee_photo',
filePath: photo_path,
success: (res) => {
dd.alert({
title:'恭喜',
content: '操作成功,头像已上传!',
buttonText:'我晓得了'
});
},
});
}
});

.net core 3.1 webapi后端接收钉钉小程序post的文件/图片的更多相关文章

  1. 小程序上传多图片多附件多视频 c#后端

    前言: 最近在研究微信小程序,本人自己是C#写后端的;感觉小程序挺好玩的,就自己研究了一下:刚好今天又给我需求,通过小程序上传多图 然后C#后端保存到服务器: 用NET明白 前端上传需要用到流,然后就 ...

  2. ASP.NET WebAPI 双向token实现对接小程序登录逻辑

    最近在学习用asp.net webapi搭建小程序的后台服务,因为基于小程序端和后台二者的通信,不像OAuth(开放授权),存在第三方应用.所以这个token是双向的,一个是对用户的,一个是对接口的. ...

  3. 微信小程序开发之多图片上传+服务端接收

    前言: 业务需求,这次需要做一个小程序同时选中三张图片一起上传到服务端,后端使用的.NET WEBAPI接收数据保存. 使用技术: 在这章中将会使用到微信小程序wx.uploadFile(Object ...

  4. 钉钉/支付宝小程序和微信小程序的区别及转换方案

    最近接到一个工作任务,是把钉钉小程序转微信小程序... 对,居然还有这种操作,之前只听过微信小程序转支付宝小程序的,钉钉转微信是什么鬼

  5. Spring Boot后端+Vue前端+微信小程序,完整的开源解决方案!

    项目简介 一个小商场系统,包括: 后端:Spring Boot 管理员前端:Vue 用户前端:微信小程序 功能介绍 1.小商城 首页 专题列表.专题详情 分类列表.分类详情 品牌列表.品牌详情 新品首 ...

  6. 黄文俊:Serverless小程序后端技术分享

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 黄文俊,现任腾讯云SCF无服务器云函数高级产品经理,多年企业级系统开发和架构工作经验,对企业级存储.容器平台.微服务架构.无服务器计算等领域 ...

  7. [转]微信小程序开发(二)图片上传+服务端接收

    本文转自:http://blog.csdn.net/sk719887916/article/details/54312573 文/YXJ 地址:http://blog.csdn.net/sk71988 ...

  8. 微信小程序小结(1) ------ 前后端交互及wx.request的简易封装

    微信小程序的应用目前越来越多,不管喜欢与否我们都应该了解一些.废话不多,直接干货. 做项目自然避免不了前后端的交互,小程序在调试过程中需要在先在:小程序公众平台--设置--开发设置中,将要从后台请求的 ...

  9. 微信小程序aes前后端加密解密交互

    aes前后端加密解密交互 小程序端 1. 首先引入aes.js /** * [description] CryptoJS v3.1.2 * [description] zhuangzhudada so ...

随机推荐

  1. Ubuntu16手动安装OpenStack——glance篇--转

    全文转自https://www.voidking.com/dev-ubuntu16-manual-openstack-glance/ 目标 紧接着<Ubuntu16手动安装OpenStack—— ...

  2. 清晰架构(Clean Architecture)的Go微服务: 编码风格

    编码风格在编程中是一个相对乏味的主题,但是合适的编码风格对一个有效的程序员是至关重要的. 它有三个组成部分: 程序结构 ( application layout) 编码规则或风格 命名约定 我已经在清 ...

  3. DWZ框架--页面样式丢失

    案例 今天我导入DWZ框架demo时,发现主页面样式丢失,出现了如下图那鬼样: 正常情况应该是有表格显示,并且用chrome开发者模式调试,可以看到有对应的样式,如下图所示: 先简单介绍下dwz框架的 ...

  4. C语言之灵魂 指针学习

    指针是c语言的难点 称之为c语言的灵魂一点也不为过,不过指针用好了能事半功倍,用不好bug满天飞. 一.指针的概念 指针也是变量只不过是特殊的变量,指针的值是另一个变量的地(也就是变量所在的内存地址) ...

  5. edltplus使用正则表达式替换多余空行

    24-7 <font style="font-weight:bold;">24-7</font><div class="tab_conten ...

  6. mysql随机查询若干条数据

    条不重复的数据,使用以下: 秒以上 搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据. SELECT *  FROM `table` AS t1 JOIN (SELE ...

  7. 如何为wordpress 添加favicon

    制做一张16px×16px(像素)大小的图片命名favicon并修改扩展名为.ico,即favicon.ico文件! 方法1:将favicon.ico图标上传到WordPress博客空间的根目录(方法 ...

  8. 文件(file 类)

    题目: 编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件.之后,将这些文件中的某一个文件剪切到另外一个目录中. 代码: File_Demo /** * 包含两个类,一个主 ...

  9. 使用小书匠及markdown here编辑博客和微信公众号

    1. 使用小书匠连接Evernote并发布笔记到博客园 1.1 小书匠初探 我平时的信息收集的主要方法是采用Pocket+Evernote. 简单来说: 如果访问到非常有用,而且是必须要立刻记录的内容 ...

  10. shell命令之一天一见

    一.在统计行数时常要用的到命令包括 w.c.l, 在这里做个简单的介绍. 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也 ...