获得绝对路径的文件上传
-
18-09-2019 - |
题
我上传一个文件使用一个简单的文件上传控制命名的 theFile
(ASP.NET).我试图获得绝对路径的文件,但是 thefile.PostedFile.FileName
和 thefile.FileName
是的完全相同,只是文件的名称,没有通路!我不能使用服务器。MapPath因为我将要拯救这个文件在不同的服务器(转让通过字数组通过一个服务).
它打破在这一行:
Dim fStream As New FileStream(thefile.FileName, FileMode.Open, FileAccess.Read)
因为这是把该文件和映射它的相对路径我VS!我需要绝对的道路...
解决方案
通过HTTP上传永远不会包含远程(客户端)的计算机上的完整路径的文件 - 它可能放弃他们的目录结构的信息,因此被认为是安全风险。此外,它会是什么用呢?如果有人上传你在互联网上的文件时,为什么你试图打开本地(asp.net服务器)上的FILESTREAM机,他们的机器上存在的路径?
上传文件实际上为作为请求的一部分的字节流来通过。您需要访问 FileBytes 控件的属性来获取文件,或致电另存为()方法将其保存到服务器。在你的情况,你很可能只是得到字节并把他们关到Web服务调用您需要。
其他提示
(转移通过字数组通过一个服务).
由于你目前需要的文件的字数组,为什么不能访问该文件的字数组通过文件.FileBytes的财产?
这里是参照FileBytes财产的文件上传网络控制: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.filebytes.aspx
如果你想访问的对象的流直接,可以利用的FileContent财产。这里是参照FileContent财产的文件上传网络控制: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.filecontent.aspx