2017-04-14 19 views
0

我們如何在web api上上傳圖片,圖片是從android和web應用程序發送來的。最佳實踐是什麼?我以前在mvc中使用過httppostedfilebase,但是在web api中,它似乎沒有工作。哪一種最好的做法應該是將base64轉換後的字符串從android發送到我的web api,或者還有其他更好的方法。在webapi上傳圖像

我看過一些例子,但他們不是我要找的。
爲前:
我不想使用HttpContext.Current.Request

我需要與圖像一起發佈其他形式的值,所以用我的圖像時,這樣的事情是行不通的

public async Task<HttpResponseMessage> PostUserImage() 

回答

0

通常我們將看看整個過程鏈。在我的示例中,我將它作爲varbinary(max)存儲在SQL數據庫中。我將它作爲API的DAL中的byte []來引入,然後我有一個簡單的實用程序方法將其轉換爲封裝在格式化字符串中的base64字符串,該字符串直接放入html img標籤的src屬性中我可以將它作爲字符串傳回客戶端。

這對我來說是最簡單的方法,以避免不必要的混亂。你的回答是埋在那個流程中,如果我沒有繼續,並將該死的東西包裝在src img標籤的格式化字段中,那麼ye base64轉換後的字符串就是我如何轉換並且會專門用web api傳遞它。

+0

同意二進制是最簡單的方法,但它會降低圖像質量,並有任何圖像數據腐敗的機會。我有這些擔心這就是爲什麼我想存儲在物理文件夾的文件,所以沒有數據損壞的機會。 – Dragon