loy*_*low 2 asp.net asp.net-mvc file-io
当用户上传图像时,它将存储在文件系统中,但不在公共可访问的范围内.
我正在显示一个项目列表,每个项目都有一个与之关联的图像.
当实际文件存储在wwwroot文件夹之外时,如何显示图像?即它不公开.
由于action方法在服务器上运行,因此它可以访问它有权访问的任何文件.该文件不需要在该wwwroot文件夹中.您只需要告诉动作方法获取哪个图像.
例如:
<img src="/mycontroller/myaction/123">
Run Code Online (Sandbox Code Playgroud)
您的行为将如下所示:
public FileResult MyAction(int id)
{
var dir = "c:\myimages\";
var path = Path.Combine(dir, id + ".jpg");
return new FileStreamResult(new FileStream(path, FileMode.Open), "image/jpeg");
}
Run Code Online (Sandbox Code Playgroud)
请注意,id int会阻止某人注入路径来访问驱动器/共享上的不同文件.
| 归档时间: |
|
| 查看次数: |
3622 次 |
| 最近记录: |