我从jquery代码URL.createObjectURL(event.target.files[0]);
返回如下内容:blob:http%3A/localhost%3A59105/f7dae0f7-088f-48cf-b446-eeda0bf23705
我尝试将此文件保存为
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);
但它给出了上述代码的错误:
The URI prefix is not recognized.
我究竟能如何复制这个文件?
感谢您的建议。
答案 0 :(得分:1)
1.创建简单的GET方法
[HttpGet]
public ActionResult GetFile(){
return View();
}
2。使用@ Html.BeginForm帮助程序创建视图
@using (Html.BeginForm("GetFile","YourController", FormMethod.Post, { enctype = "multipart/form-data" }))
{
<input type="file" id="fileup" name="file"/>
<input type="submit" value="Send">
}
Rembember使用名称属性和重载版本的Html.BeginForm()
3.在后端获取数据
[HttpPost]
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);
file.SaveAs(path);
}
return RedirectToAction("Success");
}
html属性中的名称必须与HttpPostedFileBase具有相同的名称。