Я написал элемент управления файловой системой в asp.net mvc.But, так как теперь логика, что я делаю, я загружаю файл excel на сервер локально, а затем обрабатываю данные и толкаю в базу данных oracle. Но некоторые серверы из-за проблем с разрешениями, я не могу извлекать данные с загруженного сервера или загружать на сервер в любом случае. Я хотел бы иметь логику, которая преобразует загрузку файлов в поток или то, что когда-либо загружается на сервер локально. Я не знаю, могу ли я реализовать HttpPostedFileBase.inputstream
, если да, то как я могу его реализовать здесь?Управление загрузкой файлов в asp.net mvc
VIEW
@using (Html.BeginForm("Upload", "mnis", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@*<div>
<label for="file">Filename:</label></div>
<div class="uploadfirst">
<input type="file" name="file" id="file" /></div>
@Html.Label("lbl", "PSITE_SLNO");
<input id="Text1" name="txtsln" type="text" />
<div class="upload">
<input value="Submit" type="submit" /></div>*@
<table>
<tr><td><label for="file">Filename:</label></td><td><input type="file" name="file" id="file" /></td></tr>
<tr><td></td><td class="positions"><input value="Submit" type="submit" /></td></tr>
</table>
}
CONTROLLER
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
try
{
if (file.ContentLength > 0)
{
int slno = (int)(Session["slnum"]);
string st = file.FileName.ToString();
//st = Server.MapPath("~/")+st;
st = Path.Combine(Server.MapPath("~/"), st);
file.SaveAs(st);
//Start(st, slno);
Task.Factory.StartNew(() =>
{
Thread.CurrentThread.Name = "Maximo thread";
Start(st, slno);
});
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
RedirectToAction("Index");
// file.SaveAs(path);
}
}
я отправил ответ попробовать вон тот –