C# WEB.API 接收并解析保存base64格式的图片

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization.Formatters.Binary;
using System.Web;
using System.Web.Http;

namespace WebApi.Controllers
{
    public class HomeController : ApiController
    {
        /// <summary>
        /// 接收Base64编码格式的图片
        /// </summary>
        public void Upload()
        {
            //获取base64编码的图片
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            string text = context.Request.Form["file"];

            //获取文件储存路径
            string path = context.Request.MapPath("~/"); //获取当前项目所在目录
            string datetime = GetTimeStamp();
            string suffix = ".jpg"; //文件的后缀名根据实际情况
            string strPath = path + "App_Data/" + datetime + suffix;

            //获取图片并保存
            Base64ToImg(text.Split(‘,‘)[1]).Save(strPath);
        }

        //解析base64编码获取图片
        private Bitmap Base64ToImg(string base64Code)
        {
            MemoryStream stream = new MemoryStream(Convert.FromBase64String(base64Code));
            return new Bitmap(stream);
        }

        //获取当前时间段额时间戳
        public string GetTimeStamp()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalMilliseconds).ToString();
        }
    }
}
时间: 2024-08-10 02:11:34

C# WEB.API 接收并解析保存base64格式的图片的相关文章

[WEB API] CLIENT 指定请求及回应格式(XML/JSON)

[Web API] Client 指定请求及响应格式(xml/json) Web API 支持的格式请参考 http://www.asp.net/web-api/overview/formats-and-model-binding 本篇则要演练xml/json 回应 Get 定义 Header:Content-Type 定义 QueryString 请求 Post POST json 数据 POST xml 数据 回应 Get 定义 Header:Content-Type 测试工具:本来想用 p

web Api自定义部分Action的JSON格式输出

昨天项目中要部分Api的JSON格式需要特殊处理.最开始直接重写controller的JSON方法.经测试,当action直接返回数据的时候,不会调用Json方法. 然后找了各种方法,都不行.在群里问了.直到看到群友发的一个直接移除所有API的JSON格式方法的时候.图片如下: 然后就想到了Api的ActionFilterAttribute.就解决了自己的需求. 上代码.懒得写说明. 1 public class AppFilterAttribte : ActionFilterAttribute

Web API 方法的返回类型、格式器、过滤器

一.Action方法的返回类型 a) 操作方法的返回类型有四种:void.简单或复杂类型.HttpResponseMessage类型.IHttpActionResult类型. b) 如果返回类型为void,请求结束后HTTP状态码为204(No Content),如果返回类型为复杂类型,则对象会被转化为Json字符串后传输. c) 从图示的Web API的大致交互过程可以看到,Controll返回的是HttpResponseMessage类型,然后转换为HttpResponse提供给调用端.同时

Web API入门之移除XML格式(一)

前言 回头想来,没想到自己却坚持下来了,EntityFramework系列终于全部完成了,给自己点个赞先.本系列将着手于Web API,关于一些基础的介绍及定义就不再叙述,请参考园友们文章,非常详细,我也是在此基础上步入学习的. 简短介绍 我们知道Web API是基于ASP.NET平台构建RESTful应用程序的框架(关于RESTful请参考园友Liam Wang关于其详细介绍),通过访问在方法标记为HttpPost.HttpGet.HttpPut等得知. 问题探讨 我们知道Web API默认输

asp.net.web如何简单生成和保存二维码图片的例子

首先,要有生成二维码图片,需要二维码生成的类库,到官网下载thoughtWorks.QRCode.dll 例子的步骤: 1.创建项目QRCodeTest1,选择asp.net.web窗体应用程序 2.添加引用,引入支持生成二维码图片类库,thoughtWorks.QRCode.dll 3.右键项目QRCodeTest1,选择添加web窗体,生成WebForm1.aspx, 并添加新文件夹photos,存放生成的二维码图片 4.打开webForm1.aspx,可以选择两种方式编写页面(熟悉的话,用

Wince 6.0适用 .NET 使用HttpRequest的Post上传文件,服务端的Web API接收Post上传上来的文件 代码

//调用的示例 private string fileName = "InStorageData.csv"; string filePath = parentPath + CommonHelper.UPLOAD + "\\" + fileName;//文件的全路径含文件名称及扩展名 string strResult = CommonHelper.SendFile(filePath, new Uri(CommonHelper.strURL + "PostFo

Web Api 上传图片,解决上传图片无格式

制作这个功能时,找了很多资料,不过忘记了地址,所以就不一一放连接了, 直接上代码吧! 1. 首先新建一个上传的控制器 /// <summary> /// 上传 /// </summary> [RoutePrefix("api/Upload")] public class UploadController : ApiController 2. 有控制器了,肯定要有一个接受的地方 /// <summary> /// 上传图片 /// </summa

C#保存Base64格式图片

1 1.前端页面代码 2 /** 3 * 通过图片本地路径获取图片真实大小,并进行压缩 4 */ 5 function getLocalRealSize(path, callback) { 6 var img = new Image(); 7 var tempimg = new Image(); 8 img.src = path; 9 img.onload = function() { 10 var height = img.naturalHeight; 11 var width = img.n

base64格式的图片如何上传到oss

---恢复内容开始--- 对于base64图片的上传这个东西,一直是一个问题尤其是上传到oss.我们这次开发由于需要修剪图片,使用了h5的很多新特性. h5修剪图片,使用了我们的canvas.这个步骤是这样的.img->canvas->base64(by toDataURL).很多人走到了这个地方直 接懵逼,base64怎么上传啊.找了很多网上的,发现确实找不到,没什么人上传base64的教程.有点小绝望,感觉使用新特性, 修改图片可能是种错误的选择,然后出现了一个新的东西Blob对象,这个东