C# webapi 上传下载图片
客户端上传文件
string url = url + "webUploadFile";Uri server = new Uri(url);HttpClient httpClient = new HttpClient();MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent();StreamContent streamConent = new StreamContent(new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read));multipartFormDataContent.Add(streamConent, "jpg", fileName);HttpResponseMessage responseMessage = httpClient.PostAsync(server, multipartFormDataContent).Result;return responseMessage;
服务端接收文件
[Route("webUploadFile"), System.Web.Http.HttpPost]
public HttpResponseMessage webUploadFile()
{
if (HttpContext.Current.Request.Files.AllKeys.Any()){var httpPostedFiles = HttpContext.Current.Request.Files;if (httpPostedFiles != null && httpPostedFiles.Count > 0){// 获取文件HttpPostedFile httpPostedFile = httpPostedFiles[0];string fileExtension = ".jpg";// Path.GetExtension(httpPostedFile.FileName);// 文件扩展名string fileId = "11";string filePath = uploadPath + fileId + fileExtension;// 上传路径 httpPostedFile.SaveAs(filePath);string jsonres = "{\"code\":\"200\",\"message\":\"文件上传成功\", \"data\":{ \"fileUrl\":\"" + downloadurl+ "webDownloadFile?fileId=" + fileId + "\"}}";return new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsonres, System.Text.Encoding.UTF8, "application/json")};}}}
服务端下载文件
[Route("webDownloadFile"), System.Web.Http.HttpGet] public HttpResponseMessage webDownloadFile(){if (HttpContext.Current.Request.Params.Count > 0 && HttpContext.Current.Request["fileId"] != null){string fileId = HttpContext.Current.Request["fileId"];string fileName = fileId + ".jpg";string path = uploadPath + fileName;if (!File.Exists(path)){return new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(Common.ReturnMessage("404", "文件不存在"), System.Text.Encoding.UTF8, "application/json") };}HttpResponseMessage result = null;FileStream fs = new FileStream(path, FileMode.Open);result = new HttpResponseMessage(HttpStatusCode.OK);result.Content = new StreamContent(fs);result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg");return result;}return new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(Common.ReturnMessage("400", "文件下载失败"), System.Text.Encoding.UTF8, "application/json") };}
转载于:https://www.cnblogs.com/jhlong/p/10784383.html
C# webapi 上传下载图片相关推荐
- 使用GridFS上传下载图片以及其他文件
MongoDB所带的GridFS是极为方便的文件管理系统,MongoDB的Shell语言与Python的语言风格非常像,写起来非常方便.重点是需要用StringIO将文件装换为二进制保存.主程序是一个 ...
- FTP数据抓包上传下载图片(wireshark)
一.搭建本地FTP服务器 1.在D盘创建"kiss_ftp"文件夹,将gg.jpg保存到该文件夹下. 2.打开FTP服务器软件,设置用户名为"kiss",密码为 ...
- im4java裁剪图片之后再将图片在mongoDB上传下载图片
本文主要实现以下几个功能: 1.先通过IM4java的功能将本地的一张图片剪切出来形成新的图片 2.通过上传功能,将裁剪的图片上传到mongodb数据库中储存 3.再从mongodb数据库中取出刚才上 ...
- java公众号图片上传_java微信公众号上传下载图片,springmvc demo
[实例简介] 微信上传下项目使用说明: 1.本项目适合学习springmvc学者(springmvc demo), url(http://localhost:8082/com.demo.weixin/ ...
- 微信小程序系列——上传下载图片以及图片的展示
一.上传 wxml: <button bindtap='upload'>上传文件</button> js: 首先在data里添加全局变量images data: {images ...
- MultipartFile上传/下载图片
文件上传 图片上传 使用 jquery的来异步提交, 使用jQuery第三方插件 jquer.form.js, jsp的orm表单中要有enctype="multipart/form-dat ...
- Android图片上传和下载,android 上传/下载 图片
public class HttpAssist { private static final String TAG = "uploadFile"; private static f ...
- 【android】项目案例(三)之微信朋友圈上传,下载图片
功能: 1.相册列表 2.图片多选,单选 3.可以左右滑动 4.图片预览 可以双击放大,捏拉放大 5.图图片缩放:支持双击缩放,手指捏拉缩放 需要源码的留言或下载地址:https://github.c ...
- 文件上传 java web_JavaWeb 文件上传下载
1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...
最新文章
- Keil5简介、下载及安装(NB-IoT专栏—基础篇2)
- 浅谈Java throw, throws, try catch异常处理
- trackback (引用通告) 说明
- js 小数点 精准算法
- 计算机硬件系统的运行速度,电脑运行速度不给力 需要更换哪些硬件?
- 人工智能是互联网下一轮变革的核心
- 从移动广告业务“长出”的新增长点,汇量科技进军云服务
- Java 向文件中追加数据
- JVM内存模型、逃逸分析以及发生GC的时机
- VRay5材质库下载慢、快速安装的解决办法
- VC编程获取和修改环境变量,不重启系统即时生效
- Flask 推理模型,显存一直增长。
- 保险初识经验汇总(重疾、医疗、寿险、意外)
- 如何开发一个车牌识别,车牌识别系统,车辆识别系统毕业设计毕设作品
- 输入一个数并正序、反序输出。 例如:输入123,输出123 321。
- linux中流设备_Linux纯干货知识总结|面试专用
- 马帅:我的同事王开源-真正开源斗士
- Python——类和实例
- ODL MD-SAL Data Transactions
- python创建数据库字数不限制_Python之Mysql数据库
热门文章
- 82. 删除排序链表中的重复元素 II(链表操作)
- New Year and Old Subsequence CodeForces - 750E(线段树+矩阵dp)2019南昌icpc网络赛Hello 2019
- lisp方格网法计算土方量_CAD土方软件方格网法与三角网法相结合,准确计算土方量...
- 计算机组成原理实验八报告,计算机组成原理实验报告-八位补码加减法器的设计与实现.docx...
- java的语法知识_Java语法知识点
- 普罗米修斯监控系统_基于Prometheus和Grafana的监控平台 - 环境搭建
- 图论--网络流最大流问题
- PL/SQL Developer如何连接64位的Oracle图解
- 如何解决Ubuntu 14.04编译make menuconfig时缺少'ncurses-devel'库
- 嵌入式系统开发人员的知识结构