0
我有一個允許用戶選擇圖像的應用程序,然後我使用ng-img-crop來允許它們裁剪圖像。從我有數據表示爲類似的圖像:以角度序列化圖像數據
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAgA...
這是使用NG-SRC指令設置的圖像,像這樣:
<img ng-src="{{product.Image}}" />
從那裏我送的數據返回到我的ASP.NET Web API控制器以將信息保存在數據庫中。我的產品模型有一個用於圖像的byte [],它在數據庫中表示爲varbinary。這裏是我的模型:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string SerialNumber { get; set; }
public string Notes { get; set; }
public byte[] Image { get; set; }
public int CategoryId { get; set; }
public virtual Category Category { get; set; }
public ApplicationUser User { get; set; }
}
所以,當我發信息給我的控制器,這裏是請求信息:
PUT http://localhost:20697/api/products/2 HTTP/1.1
Host: localhost:20697
Connection: keep-alive
Content-Length: 37272
Accept: application/json, text/plain, */*
Origin: http://localhost:20697
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36
Content-Type: application/json;charset=UTF-8
Referer: http://localhost:20697/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: (truncated for size)
{"Category":{"Id":5,"Name":"Graphics/Media","User":null},"Id":2,"Name":"Windows 8 x64 Professional","SerialNumber":"MN8M6","Notes":null,"Image":"data:image/png;base64,iVBORw0KGgo...(truncated for size)","CategoryId":4,"User":null}
的問題是,如果我從圖像發送實時數據如上所示,產品在到達控制器時始終爲空。如果我將圖像的數據發送更改爲像abcd這樣的簡單字符串,那麼它會很好。所以我猜測有一個序列化問題。有人能指點我到哪裏去嗎?
謝謝!
將其轉換回字節。真棒。相反,我只是將圖像從byte []更改爲使用Varchar(MAX)的字符串。您是否看到採取該路線的任何問題? – Bob 2014-09-26 01:33:58
如果圖像的唯一目的是顯示在網頁上,那麼ID說這是最好的方法。 – Crowcoder 2014-09-26 09:19:47