Asp.NET temporary file saving

I got a path from the jquery code URL.createObjectURL([0]); 

It returns something like this : blob:http%3A/localhost%3A59105/f7dae0f7-088f-48cf-b446-eeda0bf23705 

I tried to save this file like 

byte[] data;
    using (WebClient client = new WebClient())
        data =client.DownloadData("blob:http%3A/localhost%3A59105/f7dae0f7-088f-48cf-b446-eeda0bf23705");
    File.WriteAllBytes(@"~/a.jpg", data);

But it gives an error about the code above: 

  The URI prefix is not recognized.

How exactly I can copy this file? 

Thanks for your suggestions.

Last updated:3/28/2015 7:45:36 AM

1 Answers

Jayden Bell
Jayden Bell

1.Create simple GET method 

public ActionResult GetFile(){
  return View();

2. Create View with @Html.BeginForm helper 

@using (Html.BeginForm("GetFile","YourController", FormMethod.Post, { enctype = "multipart/form-data" }))
<input type="file" id="fileup" name="file"/>
<input type="submit" value="Send">

Rembember to use name attribute and overloaded version of Html.BeginForm() 

3.Get data in Backend 

public ActionResult GetFile(HttpPostedFileBase file)
  if (file != null && file.ContentLength > 0)
     var fileName =Path.GetFileName(file.FileName);
     var filePath =Path.Combine(Server.MapPath("~/Temp/"), fileName);
  return RedirectToAction("Success");

Name in html attribute must have same name as HttpPostedFileBase.