.net core 3.1 webapi后端接收钉钉小程序post的文件/图片
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了.net core 3.1 webapi后端接收钉钉小程序post的文件/图片,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3108字,纯文字阅读大概需要5分钟。
内容图文
![.net core 3.1 webapi后端接收钉钉小程序post的文件/图片](/upload/InfoBanner/zyjiaocheng/642/50974439be124cc6809a9c0ff11e0cc3.jpg)
世上本没路;走的人多了,便成了路。
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 > 0) { 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[0]; file.CopyTo(fs); int photo_width = 125; int photo_height = 184; 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(0, 0, photo_width, photo_height)); resultImgage.Save(msResult, ImageFormat.Png); byte[] buffer = new byte[msResult.Length]; msResult.Seek(0, SeekOrigin.Begin); msResult.Read(buffer, 0, buffer.Length); msResult.Close(); fs.Write(buffer, 0, 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: '' }, onl oad(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的文件/图片全部内容,希望文章能够帮你解决.net core 3.1 webapi后端接收钉钉小程序post的文件/图片所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。