Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Server.MapPath()和FileUpload.SaveAs()上载文件_C#_Asp.net - Fatal编程技术网

C# 使用Server.MapPath()和FileUpload.SaveAs()上载文件

C# 使用Server.MapPath()和FileUpload.SaveAs()上载文件,c#,asp.net,C#,Asp.net,我有一个网站管理部分,我正忙于工作,其中有4个文件上传控件用于特定目的。我需要知道,当我在FileUpload控件的SaveAs()方法中使用Server.MapPath()方法时,在我上载网站后,它在web服务器上是否仍然可用?据我所知,SaveAs()需要一个绝对路径,这就是为什么我将路径映射到Server.MapPath() 是的,它仍然可以工作,因为它使用相对值并返回完整的物理路径。是的,在保存文件后以及尝试检索该文件时可以使用它 Server.MapPath("~/Images/Log

我有一个网站管理部分,我正忙于工作,其中有4个文件上传控件用于特定目的。我需要知道,当我在FileUpload控件的
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);