我们在D:\Uploaded-Files
有一个上传文件夹。
有几个应用程序使用上传的文件。
我们将在D:\Web-Application\
中添加一个带有asp.net和MVC 5的Web应用程序
我们可以在MVC应用程序中使用来自D:\Uploaded-Files
的上传文件和相对地址吗?
如果是这样,我们如何获得相对地址?
修改
如果我们不能这样做,你的想法是从asp.net mvc应用程序访问那些文件?
答案 0 :(得分:1)
我们可以使用MVC中D:\ Uploaded-Files上传的文件吗? 具有相对地址的应用程序?
没有
如果我们不能这样做,你的想法是从asp.net mvc应用程序访问这些文件?
通过使用绝对地址或者如果您打算将它们流式传输到客户端,您将需要一个服务器端端点(MVC控制器),它将使用绝对地址来获取文件并将其作为FileResult返回给客户。
例如:
public ActionResult GetFile(string filename)
{
string actualFile = Path.Combine("D:\Uploaded-Files", filename);
return File(actualFile, "application/octet-stream");
}
显然,这不仅仅是一个过于简单的例子,没有任何验证。您应该确保客户端实际上没有请求此位置之外的某个文件并验证filename参数。您可能还需要调整Content-Type
。
现在客户端可以像这样访问文件:
http://yourapp.com/yourcontroller/getfile?filename=foobar.txt