最近项目有一个功能是图片展示功能,图片存放地址不在项目文件夹下而在一个固定的Z盘中,故而不能使用相对路径只能使用绝对路径。
img的src路径展示有两种:
1.直接使用绝对路径地址。如Z:/images/abc.jpg
2.将绝对路径地址转为base64编码传入。
由于图片存放地址不在项目文件夹下故而只能采用编码传入。
下面是图片转为二进制的代码:
/// <summary>
/// 将图片文件转换为二进制数组
/// </summary>
/// <param name=”picpath”>图片路径(绝对路径)</param>
/// <returns>二进制数组字符串</returns>
public string GetBinaryData(string picpath)
{
//只读方式打开图片到流
FileStream fs = new FileStream(picpath, FileMode.Open, FileAccess.Read);
//初始化一个长度正好的二进制数组imageBytes
Byte[] imageBytes = new byte[fs.Length];
//从流中读取全文,并写入二进制数组imageBytes中
fs.Read(imageBytes, 0, Convert.ToInt32(fs.Length));
//记得释放流
fs.Flush();
fs.Close();
//返回imageBytes
return Convert.ToBase64String(imageBytes);
}
前端js设置
//path替换为返回的二进制数组字符串
<img src="data:image/jpeg;base64,path" style="width:300px;float:center">