asp mvc 如何从我的根文件夹中提供 image/file/video 服务?
asp mvc how to serve image/file/video out of my root folder?
我在 Asp.Net MVC4 上有一个后端,在数据库中存储 "filename" 和 "Path"。示例:
FileName Path
AAAA V:\Clientes\FileName1.pdf
BBBB V:\Clientes\FileName2.pdf
DDDD V:\Clientes\FileName3.pdf
CCCC V:\Clientes\FileName4.pdf
事实是我要从 cordova 应用程序中使用此响应 (JSON),我需要这些文件与我的应用程序一起提供,例如 url这个:
www.myawesomeapp.com/files/FileName1.pdf
如何实现?他们不想上传任何东西,只想告诉后端在服务器(映射驱动器)中存储文件的位置,仅此而已,但这对于在客户端打开此文件是无效的。
有什么帮助或线索吗?提前致谢
通常在这种情况下,您会创建一个控制器和一组操作方法来将文件传送给用户。这使您可以控制 URL 格式和路径,并允许您对请求文件的用户执行安全和授权检查(如果他们不是 public)。
public class FilesController : Controller
{
//I guess you would want to lookup by filename?
public FileResult Index(string filename ){
var fileToReturn = new FileStream("full path to file", FileMode.Open);
return File(fileToReturn, "content-disposition", "fileName.extension");
}
}
您用作示例的 URL 现在应该 return FileName1.pdf。实际上,根据您在顶部的 "table",url 可能类似于 http://www.myawesomeapp.com/Files/AAAA
。在此方法中有一些工作您仍然需要将文件名参数(或 id 或您查找文件的任何方式)转换为您应该检索的实际文件。
您可以将网络位置映射为 IIS 中绑定到此域的站点下的虚拟目录。
我在 Asp.Net MVC4 上有一个后端,在数据库中存储 "filename" 和 "Path"。示例:
FileName Path
AAAA V:\Clientes\FileName1.pdf
BBBB V:\Clientes\FileName2.pdf
DDDD V:\Clientes\FileName3.pdf
CCCC V:\Clientes\FileName4.pdf
事实是我要从 cordova 应用程序中使用此响应 (JSON),我需要这些文件与我的应用程序一起提供,例如 url这个:
www.myawesomeapp.com/files/FileName1.pdf
如何实现?他们不想上传任何东西,只想告诉后端在服务器(映射驱动器)中存储文件的位置,仅此而已,但这对于在客户端打开此文件是无效的。
有什么帮助或线索吗?提前致谢
通常在这种情况下,您会创建一个控制器和一组操作方法来将文件传送给用户。这使您可以控制 URL 格式和路径,并允许您对请求文件的用户执行安全和授权检查(如果他们不是 public)。
public class FilesController : Controller
{
//I guess you would want to lookup by filename?
public FileResult Index(string filename ){
var fileToReturn = new FileStream("full path to file", FileMode.Open);
return File(fileToReturn, "content-disposition", "fileName.extension");
}
}
您用作示例的 URL 现在应该 return FileName1.pdf。实际上,根据您在顶部的 "table",url 可能类似于 http://www.myawesomeapp.com/Files/AAAA
。在此方法中有一些工作您仍然需要将文件名参数(或 id 或您查找文件的任何方式)转换为您应该检索的实际文件。
您可以将网络位置映射为 IIS 中绑定到此域的站点下的虚拟目录。