Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Asp.net mvc 如何在C#3.0中获得上传文件的完整路径?_Asp.net Mvc_C# 3.0_Filestream_Text Files_Import - Fatal编程技术网

Asp.net mvc 如何在C#3.0中获得上传文件的完整路径?

Asp.net mvc 如何在C#3.0中获得上传文件的完整路径?,asp.net-mvc,c#-3.0,filestream,text-files,import,Asp.net Mvc,C# 3.0,Filestream,Text Files,Import,在我的ASP.NET MVC网站中,我必须阅读一个txt文件,其中包含一些名称和电子邮件,用“;”分隔。之后,我必须将此txt文件的每一行保存到数据库中 通过谷歌搜索,我发现了一些代码片段,但在所有这些代码片段中,我都必须使用txt文件路径 但是,我怎样才能走这条路呢?此文件可能位于用户计算机中的任何位置 谢谢 如果您使用的是asp.net网页模型,则Server.MapPath(“~/”可以获取网站的根目录,以便传递所需的路径。你可能需要打电话 HttpContext.Current.Serv

在我的ASP.NET MVC网站中,我必须阅读一个txt文件,其中包含一些名称和电子邮件,用“;”分隔。之后,我必须将此txt文件的每一行保存到数据库中

通过谷歌搜索,我发现了一些代码片段,但在所有这些代码片段中,我都必须使用txt文件路径

但是,我怎样才能走这条路呢?此文件可能位于用户计算机中的任何位置


谢谢

如果您使用的是asp.net网页模型,则
Server.MapPath(“~/”
可以获取网站的根目录,以便传递所需的路径。你可能需要打电话

HttpContext.Current.Server.MapPath("~/");
例如,保存文本文件的文件夹:

string directoryOfTexts = HttpContext.Current.Server.MapPath("~/txtdata/");
一旦你拥有了它,你就可以阅读它:

string directoryOfTexts = HttpContext.Current.Server.MapPath("~/txtdata/");
string path = directoryOfTexts + "myfile.txt";
string alltextinfile = "";
if (File.Exists(path)) 
{
    using (StreamReader sr = new StreamReader(path)) 
    {
       //This allows you to do one Read operation.
       alltextinfile = sr.ReadToEnd());
    }
}
如果这是针对桌面应用程序的,则application类具有以下所有信息:

所有属性都列出了其他appdata文件夹和内容,但一旦您有了可执行文件的应用程序路径,这将为您提供上下文,例如
application.LocalUserAppDataPath


如果内容足够小,您也可以在保存到数据库之前将其保存在
哈希表
或通用
列表中。

如果您使用的是asp.net网页模型,则
服务器.MapPath(“~/”
可以获取网站的根目录,从而传递所需的路径。你可能需要打电话

HttpContext.Current.Server.MapPath("~/");
例如,保存文本文件的文件夹:

string directoryOfTexts = HttpContext.Current.Server.MapPath("~/txtdata/");
一旦你拥有了它,你就可以阅读它:

string directoryOfTexts = HttpContext.Current.Server.MapPath("~/txtdata/");
string path = directoryOfTexts + "myfile.txt";
string alltextinfile = "";
if (File.Exists(path)) 
{
    using (StreamReader sr = new StreamReader(path)) 
    {
       //This allows you to do one Read operation.
       alltextinfile = sr.ReadToEnd());
    }
}
如果这是针对桌面应用程序的,则application类具有以下所有信息:

所有属性都列出了其他appdata文件夹和内容,但一旦您有了可执行文件的应用程序路径,这将为您提供上下文,例如
application.LocalUserAppDataPath


如果内容足够小,您也可以在保存到数据库之前将其保存在
哈希表
或通用
列表中。

您无法获取上载文件的完整路径。这对上传文件的用户来说是隐私侵犯

相反,您需要读取已上载的Request.文件。例如:

HttpPostedFile file = Request.Files[0];
using (StreamReader reader = new StreamReader(file.InputStream))
{
    while ((string line = reader.ReadLine()) != null) 
    {
        string[] addresses = line.Split(';');
        // Do stuff with the addresses
    }
}

无法获取上载文件的完整路径。这对上传文件的用户来说是隐私侵犯

相反,您需要读取已上载的Request.文件。例如:

HttpPostedFile file = Request.Files[0];
using (StreamReader reader = new StreamReader(file.InputStream))
{
    while ((string line = reader.ReadLine()) != null) 
    {
        string[] addresses = line.Split(';');
        // Do stuff with the addresses
    }
}
HTML中的表单应具有
enctype=“mulitipart/form data”


HTML中的表单应该有
enctype=“mulitipart/form data”

这是用于ASP.NET网站的吗?@Jacob-用户将选择一个txt文件,当他单击某个按钮时,将调用一个操作。在此操作中,我必须读取此txt文件的所有数据并将其保存到数据库中。这是针对ASP.NET网站的吗?@Jacob-用户将选择一个txt文件,当他单击某个按钮时,将调用一个操作。在此操作中,我必须读取此txt文件的所有数据并将其保存到数据库中。嗨,Ryan!我真的不需要保存txt文件。我只需要阅读它的内容并将其保存到数据库Hi Ryan!我真的不需要保存txt文件。我只需要阅读它的内容,并保存到数据库雅各布,谢谢!我已经朝这个方向走了!:-)它正在保存到数据库,但现在我遇到了诸如“')、“~”等特殊字符的问题。我忘了使用编码!!谢谢你所做的一切!雅各布,谢谢!我已经朝这个方向走了!:-)它正在保存到数据库,但现在我遇到了诸如“')、“~”等特殊字符的问题。我忘了使用编码!!谢谢你所做的一切!