【问题标题】:how to get file names from project/server folder in visual studio?如何从 Visual Studio 中的项目/服务器文件夹中获取文件名?
【发布时间】:2012-11-15 10:47:28
【问题描述】:

所以我要做的是在一个字符串数组中获取位于我的项目或服务器上的特定文件夹中的所有图像的所有文件名(实际上是相同的)。

我试过了

Directory.GetFiles(Server.MapPath(@"~/_img/_upload/"));

但数组保持为空。谁能帮我解决这个问题?

非常感谢您的帮助,在此先感谢!

【问题讨论】:

  • Server.MapPath(@"~/_img/_upload/") 的结果是什么?它是正确的物理路径吗?
  • 它以某种方式返回:'C:\\Projects\\VS12\_img\_upload\\' 我不知道为什么它添加了两个“//”
  • 转义字符...尝试在您的MapPath 中不使用@

标签: c# asp.net file-upload filenames


【解决方案1】:

下面会将所有图像放入一个数组中(如果您已经知道目录结构,这应该会对您有所帮助):

using System.IO;
using System.Linq;

var imagenames = String.Join(", ", Directory.GetFiles(@"C:\yourdirectory", "*.img").Select(filename => Path.GetFileNameWithoutExtension(filename)).ToArray());

【讨论】:

    【解决方案2】:

    根据您的评论,您从 Server.MapPath(@"~/_img/_upload/") 得到的结果是:

    C:\\Projects\\VS12\_img\_upload\\

    主要问题是@,因为在 C# 中意味着字符串应该“按原样”使用,而不是针对转义序列进行处理。

    没有它,你的字符串值将是:\\_img\\_upload\\

    为了以后的阅读,我建议this answer 我觉得非常有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      • 2023-02-08
      相关资源
      最近更新 更多