C# 使用Server.MapPath()和FileUpload.SaveAs()上载文件
我有一个网站管理部分,我正忙于工作,其中有4个文件上传控件用于特定目的。我需要知道,当我在FileUpload控件的C# 使用Server.MapPath()和FileUpload.SaveAs()上载文件,c#,asp.net,C#,Asp.net,我有一个网站管理部分,我正忙于工作,其中有4个文件上传控件用于特定目的。我需要知道,当我在FileUpload控件的SaveAs()方法中使用Server.MapPath()方法时,在我上载网站后,它在web服务器上是否仍然可用?据我所知,SaveAs()需要一个绝对路径,这就是为什么我将路径映射到Server.MapPath() 是的,它仍然可以工作,因为它使用相对值并返回完整的物理路径。是的,在保存文件后以及尝试检索该文件时可以使用它 Server.MapPath("~/Images/Log
SaveAs()
方法中使用Server.MapPath()
方法时,在我上载网站后,它在web服务器上是否仍然可用?据我所知,SaveAs()
需要一个绝对路径,这就是为什么我将路径映射到Server.MapPath()
是的,它仍然可以工作,因为它使用相对值并返回完整的物理路径。是的,在保存文件后以及尝试检索该文件时可以使用它
Server.MapPath("~/Images/Logos/" + uploadedFileName);
- 如果要将文件保存在
web服务器上的目录,然后
将是合适的 解决方案Server.MapPath()
string dirPath=System.Web.HttpContext.Current.Server.MapPath(“~”+”/Images/Logos/“+fileBreak[0]+counter.ToString()+”+fileBreak[1]代码> 看
- 如果你想保存你的文件 然后是web服务器 使用完整路径,如“c:\uploads” 并确保web进程 如果允许写入该文件夹,我建议您将路径本身存储在web.config文件中
FileUpload1.PostedFile.SaveAs(Server.MapPath(" ")+"\\YourImageDirectoryOnServer\\"+FileUpload1.FileName);
噢,Logo是在全局范围中声明的字符串变量。server.MapPath有../Images/Logos的原因是它必须返回一个目录,然后进入Images/Logos。我很高兴它能在Web服务器上工作,因为我在某个地方读到,一旦你的页面上传,Server.MapPath()并不总是像预期的那样工作。不过还是要谢谢你。请尝试始终使用~sign,它将从根目录开始。那么我是否应该将其更改为~/../Images/Logos?:?对于一个名为Test.Png的图像,我得到的结果是C:/TestSite/Images/Logos/Test0.Png(作为一个新保存的文件),这就是我要查找的结果。只是想知道我是否仍然能够访问Web服务器上的文件(当上传到Web服务器时)。很明显,它最终会出现在一个相对的Images/Logos/目录中。只是,当我尝试访问test0.png时,我的网站会合法上传并使用它吗?在你的第二点中,你提供了非常方便的信息。我将研究如何快速完成这项工作,然后再向客户支持部求助。完整路径存储在数据库中,我打算将图像上传到images/logo目录中。该路径将从数据库中读取,并分解为访问此新上载映像所需的根路径。在IIS中,我右键单击了包含web.config的应用程序文件夹。属性-->安全-->编辑。单击IIS_IUSR,并授予其修改权限。然后我就可以上传我的文件了。
FileUpload1.PostedFile.SaveAs(Server.MapPath(" ")+"\\YourImageDirectoryOnServer\\"+FileUpload1.FileName);