11
    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 を String 配列に変換する通常の方法を知っています。これは、最初にファイルをサーバーに保存し、次にサーバーからデータを読み取ります。ファイルをサーバーに保存せずに httppostedfilebase から直接文字列配列を取得する方法はありますか?

4

2 に答える 2

16

Stream次のように、ファイルを 1 行ずつ読み取ることができます。

List<string> csvData = new List<string>();
using (System.IO.StreamReader reader = new System.IO.StreamReader(currencyConversionsFile.InputStream))
{
    while (!reader.EndOfStream)
    {
        csvData.Add(reader.ReadLine());
    }
}
于 2015-03-24T08:24:11.387 に答える