如何从 Web API 发布和获取数据 uri 图像
How to post and get data uri image from web api?
我正在尝试将数据uri图像从javascript发布到webapi asp.net 后端。但是,它给了我input is not a valid Base-64 string
错误。现在,我知道这可能是由于数据 uri 包含的部分"data:image/png;base64"。
现在,即使我从数据 uri 中删除这部分并仅将字符串的其余部分发送到服务器,如何在服务器上存储 Base-64 字符串?
此外,如何从webapi检索这些数据作为图像?
注意:图像大小将小于200kB,因此将作为varbinary(Max(存储在sql服务器中。
问题是你应该将你的图像转换为byte[],并将其作为varbinary存储在你的服务器中
byte []arr = new byte[image1.ContentLength];
image1.InputStream.Read(arr, 0, image1.ContentLength);
检索时,应将 varbinary 数据转换为 base64 字符串,将 base 64 字符串转换为图像
string imageBase64Data = Convert.ToBase64String(img);
这是上面的代码将varbinary转换为base64string的重要部分。它应该采用正确的格式来显示图像。这就是以下代码的作用
string imageDataURL = string.Format("data:image/png;base64,{0}", asd);
Session["Photo"] = imageDataURL;
现在,您可以查看图像
将
来自客户端的图像发布在字符串中,不指定类型。在您的操作中,您可以通过以下方式获取图像:
var bytes = Convert.FromBase64String(yourStringHere);
using (var ms = new MemoryStream(bytes))
{
image = Image.FromStream(ms);
}
相关文章:
- Ajax-如何获取数据
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 从数据库中获取数据并插入JavaScript变量
- 从单击的行上的列中获取数据
- Solr查询以按日期月份获取数据&年
- React路由器服务器端渲染和ajax获取数据
- 使用JavaScript在IE9中获取数据列表选项
- 从json子数组获取数据
- 使用angularjs中的rest调用通过id获取数据
- 正在从ruby应用程序中的数据库中获取数据
- 如何从servlet获取数据到ajax成功
- 从选择下拉菜单中获取数据
- 异步获取数据使用JavaScript同步获取数据
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- JavaScript-获取数据属性的值返回未定义的值
- 如何从文本区域获取数据并使用javascript进行解密
- 在put方法之前从作用域获取数据
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么