【问题标题】:How to get path of file from which folder it is browse in ASPxUploadControl?如何从 ASPxUploadControl 中浏览的文件夹中获取文件的路径?
【发布时间】:2014-06-07 20:07:24
【问题描述】:

我想获取上传文件的文件路径。我在文件夹中有 excel 文件,在 excel 文件中我的文件名也在同一个文件夹中。我正在尝试仅上传 excel 文件。它上传成功,但无法获取上传的文件路径。在文件路径的基础上,我必须获取名称在 excel 文件中的所有文件。我正在尝试此代码...请在这方面帮助我。

protected void ASPxUploadControl1_FileUploadComplete(object sender, DevExpress.Web.ASPxUploadControl.FileUploadCompleteEventArgs e)
{
   String strFilename = e.UploadedFile.FileName;
   String strPath = Path.GetFullPath(e.UploadedFile.FileName);
   DirectoryInfo hdDirectoryInWhichToSearch = new DirectoryInfo(strPath);    
}

【问题讨论】:

  • 您是指上传到的服务器上的上传路径吗?否则,您将无法访问客户端文件系统。
  • 我想访问他将上传文件的客户端系统路径或目录名称。有什么办法可以做到这一点。
  • 这将是一个安全问题。你做不到

标签: c# winforms file-upload


【解决方案1】:

一个 ASPxUpload 控件将保存到 App_Data/UploadTemp,然后您在执行此操作时决定文件的保存位置:

e.UploadedFile.SaveAs(m_fullpath, true);  //true means overwrite

上传的文件可以用来获取 .xls 文件,这样做:

string m_filename = e.UploadedFile.FileName;
string m_extension = Path.GetExtension(m_filename);

所以你可以做类似...

if(m_extension == ".xls")
{
  e.UploadedFile.SaveAs(m_fullpath, true); 
}

更好的方法是设置上传控件中允许的文件类型。

<ValidationSettings AllowedFileExtensions=".xls, .xlsx"></ValidationSettings>

【讨论】:

  • 但是我想从他上传文件的地方获取客户端系统路径或目录。假设我在这个目录 D:\File 中有 excel 文件。当我从 D:\File 上传文件时,我想在 aspxUploadControl 中获取路径 D:\File。
  • 我明白了。由于安全原因,现代浏览器不会让您获取该信息。例如:devexpress.com/Support/Center/Question/Details/Q259544
  • 有什么办法可以做到吗?
  • 上传控件不允许你做你想做的事。你必须定制一些东西。即使那样,我也不确定它会起作用。你将不得不在某个时候做这样的事情。 Directory.GetFiles(path, "*.xls", SearchOption.AllDirectories);
  • 我将 Internet Explorer 设置为默认浏览器并运行我的 Web 应用程序,现在我使用字符串 filePath = e.UploadedFile.PostedFile.FileName; 完成了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 2010-10-14
  • 2022-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
相关资源
最近更新 更多