c# - 使用 FileUpload 控件在 asp.net c# 中获取文件的完整路径
问题描述
我FileUpload
在以下场景中使用控件来处理文件,downloaded
我的机器中手动有一些文件,现在我需要一个一个地选择文件来处理它们的数据Database
并将这些文件映射到另一个位置(服务器)。我有一个执行此功能的方法,它需要该文件的完全限定路径来进一步处理它。我使用fileUpload.PostedFile.FileName
的是只返回文件名,而不是 FQN。
if (fileUploadList.HasFile)
{
string source = ddActiveList.SelectedItem.Text;
string url = fileUploadList.PostedFile.FileName;
string name = "Name";
string id = "1";
bool res = SaveFileToLocalMachine(url, name, id, source);
}
private bool SaveFileToLocalMachine(string url, string fileName, string sourceId, string source)
{
bool flag = false;
lSource = new Object();
string savePath = "@\\myPath";
if (!Directory.Exists(savePath))
{
DirectoryInfo di = Directory.CreateDirectory(savePath);
}
using (var client = new WebClient())
{
try
{
string fileExt = System.IO.Path.GetExtension(url);
string file = fileName + fileExt;
client.DownloadFile(url, savePath + file);
lSource.Update();
flag = true;
}
catch (Exception ex)
{
flag = false;
}
}
return flag;
}
解决方案
网络服务器通常不能(也不应该)访问客户端的文件和文件夹。他甚至不应该获得客户端的文件系统(这是 IE 允许的一段时间)。但是无论如何您都不应该需要它,因为您已经从客户端上传了文件。它在FileUpload.PostedFile
.
您想要的方法已经可用,FileUpload.SaveAs
:
fileUploadList.SaveAs(savePath);
推荐阅读
- ajax - ajax 在上传多个文件时返回错误 404/找不到控制器 ASP.net
- python - 我的列表或元组或任何类似数据结构中的变量如何使其更改反映在列表中?
- c - 在动态链接/加载期间,如何获得基地址
- excel - 将多张工作表中的行提取为一张,并排除带有#N/A 的任何行
- c# - 父属性更改时为派生属性触发 PropertyChanged
- python - 我正在尝试在 Pycharm 中安装软件包(Numpy)得到 pip 错误
- javascript - 使用 javascript 下载 MVC 文件
- python - Opencv:错误:(-210)在函数阈值中
- image - 反向图片搜索(谷歌的“按图片搜索”)没有产生有用的结果
- regex - Numeric Ranges with a Regular Expression python