gpt4 book ai didi

c# - 查找文件的确切路径

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:51 25 4
gpt4 key购买 nike

我正在使用 fileUpload 控件。当我上传文件时,我想找到文件的确切位置。

我尝试使用:

  1. string fname= Server.MapPath(FileUpload2.FileName);
  2. string fname= FileUpload2.FileName;
  3. string fname= FileUpload2.PostedFile.FileName;

数字 2 和 3 给了我文件的名称。 1 号给了我网站位置的路径。我不知道 2 和 3 之间有什么区别,为什么两者都给我相同的结果。

我在某处读到,您无法找到路径。是真的吗?如果不是,我应该使用什么代码?

最佳答案

没有实际的文件路径,因为上传到服务器的文件只是保存在内存中。

FileUpload控件只是一个 HttpPostedFile 的包装器实例,它本身基本上只是 InputStream 的包装器。

将文件保存到某个地方完全取决于您。在那之前它不存在于任何物理位置。

FileName属性仅对应于客户端计算机的文件名减去路径。它与服务器文件系统上的任何内容都没有关联。

有几种不同的方法可以处理文件。

将文件保存到磁盘:

FileUpload 控件提供了一个 SaveAs允许您将文件保存在本地或您有权访问的某些 UNC 的方法。

FileUpload2.SaveAs("C:\\Temp\\" + FileUpload2.FileName);

处理内存中的文件:

因为您可以访问 FileContent ,您可以直接操作和处理文件。假设您知道它是什么类型的文件(txt、pdf、csv 等...)

using (var sr = new StreamReader(FileUpload2.FileContent)) 
{
while ((var line = sr.ReadLine()) != null)
{
//Do something with 'line'
}
}

关于c# - 查找文件的确切路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18423094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com