通常情況下,前端需要進行圖片展示或者圖片下載的時候會有幾種方法,一般是直接返回File或者返回byte數組然后轉base64
需要一個圖片訪問接口,接口返回的格式為byte[]
代碼如下
后端代碼:
[HttpGet("GetAccessory")] public async Task<IActionResult> GetAccessory(string token,string ftpKey, string fn) { byte[] buffer = null; using (var httpClient = new HttpClient()) { //url編碼 string fileName = System.Web.HttpUtility.UrlEncode(fn); //圖片訪問地址 var requestUri = $"http://10.22.153.39:5000/api/resource/test/{ftpKey}/{fileName}"; var httpResult = await httpClient.GetAsync(requestUri); buffer = await httpResult.Content.ReadAsByteArrayAsync(); } var file = File(buffer , "image/jpeg"); return file; }
關於Http context - type 對照表
可以參考這里:https://www.runoob.com/http/http-content-type.html
常見的媒體格式類型如下:
- text/html : HTML格式
- text/plain :純文本格式
- text/xml : XML格式
- image/gif :gif圖片格式
- image/jpeg :jpg圖片格式
- image/png:png圖片格式
前端代碼:
下載鏈接方式:
<a href ='api地址'>圖片下載</a>
圖片展示:
<img src="http://localhost:5105/api" width="500" height="300">