asp.net-mvc - 如何将 httppostedfilebase 转换为字符串数组

标签 asp.net-mvc httppostedfilebase

    public ActionResult Import(HttpPostedFileBase currencyConversionsFile)
    {

        string filename = "CurrencyConversion Upload_" + DateTime.Now.ToString("dd-MM-yyyy") + ".csv";
        string folderPath = Server.MapPath("~/Files/");

        string filePath = Server.MapPath("~/Files/" + filename);
        currencyConversionsFile.SaveAs(filePath);
        string[] csvData = System.IO.File.ReadAllLines(filePath);

        //the later code isn't show here
        }

我知道将httppostedfilebase转换为字符串数组的常用方法,它会先将文件存储在服务器中,然后从服务器读取数据。无论如何,是否可以直接从 httppostedfilebase 获取字符串数组,而不将文件存储到服务器中?

最佳答案

您可以从 Stream 中逐行读取文件,如下所示:

List<string> csvData = new List<string>();
using (System.IO.StreamReader reader = new System.IO.StreamReader(currencyConversionsFile.InputStream))
{
    while (!reader.EndOfStream)
    {
        csvData.Add(reader.ReadLine());
    }
}

关于asp.net-mvc - 如何将 httppostedfilebase 转换为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29227000/

相关文章:

mysql - 在 AppHarbour 中托管 MVC 应用程序

asp.net-mvc-4 - HttpPostedFileBase 始终保持 null mvc

image - 如何将 HttpPostedFileBase 转换为图像?

jquery - 如何使用 ajax 请求将数据和一个文件发送到操作

css - 字符串到 HttpPostedFilebase

asp.net-mvc - 同时发送文件和重定向到新页面的 MVC 方式是什么?

c# - 切换 MVC 用户登录方法 : Forms + AD Account

c# - 使用 Html.Action() 时,PartialView ViewBag 数据在父 View 中不可用

asp.net-mvc - 如何强制执行 ASP.NET MVC 中的关注点分离?

.net - MVC3 HttpPostedFileBase 第一次上传不提供数据,但随后执行