Как сохранить файл на диск? - PullRequest
4 голосов
/ 25 февраля 2011

Вот мой контроллер:

    [HttpPost]
    public ActionResult Index(HttpPostedFileBase excelFile)
    {

        /*Somewhere here, I have to save the uploaded file.*/

        var fileName = string.Format("{0}\\{1}", Directory.GetCurrentDirectory(), excelFile.FileName);
        var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName);

        var adapter = new OleDbDataAdapter("SELECT * FROM [workSheetNameHere$]", connectionString);
        var ds = new DataSet();
        adapter.Fill(ds, "results");

        DataTable data = ds.Tables["results"];

        return View();
    }

Ответы [ 3 ]

11 голосов
/ 25 февраля 2011

Это один из способов справиться с этим, если вы получаете загруженные файлы.

string nameAndLocation = "~/UploadedFiles/" + hpf.FileName;
hpf.SaveAs(Server.MapPath(nameAndLocation));
5 голосов
/ 25 февраля 2011

Вы пробовали HttpPostedFileBase.SaveAs метод?

3 голосов
/ 25 февраля 2011
[HttpPost]
public ActionResult Index(HttpPostedFileBase excelFile)
{
   /*Somewhere here, I have to save the uploaded file.*/

   var fileName = string.Format("{0}\\{1}", Directory.GetCurrentDirectory(), excelFile.FileName);

   excelFile.SaveAs(fileName );

   //...
}

Если сомневаетесь, посмотрите документацию: http://msdn.microsoft.com/en-us/library/system.web.httppostedfilebase.saveas.aspx

...