通常情况下,前端需要进行图片展示或者图片下载的时候会有几种方法,一般是直接返回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">