sách gpt4 ai đã đi

javascript - 图像->JSON->.Net 图像

In lại 作者:行者123 更新时间:2023-12-03 05:33:49 27 4
mua khóa gpt4 Nike

我正在尝试学习 Knockout 并尝试创建一个照片 uploader 。我已成功将一些图像存储在数组中。现在我想回帖。在我的 knockout 码(Javascript)中,我这样做:

我在 Javascript 中有一个图像“类”:

// The image object that wukk be posted back.
function Image(_Image, _Description, _Filesize, _Filetype) {
var self = this;
self.Image =_Image;
self.Description = _Description;
self.Filesize = _Filesize;
self.Filetype = _Filetype;

self.DisplaySize = ko.computed(function () {
SizeToText(self.Filesize);
});
}

我在名为“images”的属性中有一个数组。

当我单击“保存”按钮时,我尝试简单地将图像数组字符串化为“对象”。

  var object = JSON.stringify({
images: self.images(),
});

然后,我将对象发布回我的 .net WebAPI Controller 。

    var uri = "/api/Photo/Upload";
$.post({ url: uri, contentType: "application/json" }, object)
.done(function (data) {
self.images.removeAll();
});

我的方法被调用,我可以在它接收到的数据中看到所有图像数据、描述等。

该方法定义为:

public int Upload(UIImageUploadList data)

UIImageUploadList 是一个保存图像列表的类:

public class UIImageUploadList
{
public List Images { get; set; }
}

UIImageUpload 是:

 public class UIImageUpload
{

public string Image { get; set; }
public string Description { get; set; }
public string FileType { get; set; }
public int FileSize { get; set; }

}

因此,我尝试解析“数据”字段中的数据,以便可以将其传递到我的服务/逻辑/数据层。

foreach(var p in data.Images)
{
JavaScriptSerializer json_serializer = new JavaScriptSerializer();
var routes_list =
json_serializer.DeserializeObject(p.Image);


byte[] bytes = Convert.FromBase64String(p.Image);

Image image;
using (MemoryStream ms = new MemoryStream(bytes))
{
image = Image.FromStream(ms);
}

photos.Add(new Photo
{
Description = p.Description,
PhotoData = image
});
}

但我认为它是 Base64 格式的。 (我相信 JSON.Stringify 做到了)。

图像属性以此开头:

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJY

并以以下内容结尾:

AElFTkSuQmCC"

我知道它是 JPG 还是 BMP 等。

在.Net中,我尝试将其更改为图像类型,以传递到我的数据库。

但是“DeserializeObject”失败,提示“数据不是原始 JSON 类型”。

我应该如何转换为最终存储在数据库中的图像?

1 Câu trả lời

在调用Convert.FromBase64String之前,您需要拆分包含编码图像数据的字符串。首先,删除 data:,然后获取图像的 MIME 类型 (image/png),然后获取编码 (base64)并且只有字符串的其余部分(逗号之后)可以传递到转换函数中。我对 C# 没有太多经验,但从那里开始,FromStream 函数应该足够智能来处理解码的数据。

关于javascript - 图像->JSON->.Net 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40816906/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com