Getting the file path from HttpPostedFileBase
Solution 1
Can't comment as I don't have enough reputation ... :(
Does the folder ...
C:\Users\maab\Desktop\2013-05-10_BuSI Material Project -Last\BuSIMaterial\BuSIMaterial\App_Data\uploads
exist? If not, try to create it manually and try your upload again.
Solution 2
As I understand, you need to upload the file to the server before opening it e.g.
if (file != null && file.ContentLength > 0)
{
// extract only the fielname
var fileName = Path.GetFileName(file.FileName);
// store the file inside ~/App_Data/uploads folder
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
I took the above from a similar question's answer by Chance and Darin Dimitrov : File Upload ASP.NET MVC 3.0
This answer additionally references the usefull blog post Uploading a File (Or Files) With ASP.NET MVC
Comments
-
Traffy almost 2 years
I'm working with ASP.NET MVC 4 and I'm trying to get the path of an uploaded file in order to open and manipulate it. This is how I proceed :
Controller
public ActionResult Bulk(HttpPostedFileBase file) { FileStream fs = System.IO.File.Open(Server.MapPath(file.FileName), FileMode.Open, FileAccess.Read); return RedirectToAction("Index"); }
View
@{ ViewBag.Title = "Index"; } <h2>Index</h2> @using (Html.BeginForm("Bulk", "Bulk", null, FormMethod.Post, new { enctype = "multipart/form-data" })) { @Html.ValidationSummary(true) <fieldset> <p> <input type="file" name="file"/> </p> <div class="form-actions"> <button type="submit" class="btn btn-primary">Create</button> </div> </fieldset> }
When I'm doing that, I get an error which says ...
Could not find a part of the path ...
How can I get the path where my file is actually located?