2013-03-01 67 views
0

我是ASP.NET新手,希望有人能帮忙。 我有一个观点我的文件输入:如何使用jQuery在ASP.NET中将图像保存到项目文件夹中?

<input type="file" name="Image" id ="filename" /> 
<input type="submit" value="Submit" id ="sub" /> 

然后在脚本中,我把它的值设置为我的行为在控制器

$(function() { 
    $.post("Home/NewProject", {Image: $("#filename").val() }, function (data) {}); 
}); 

在控制器的动作我得到的文件名,并将其重命名是一种能够将存储在我的项目文件夹~/App_Data/uploads

[HttpPost] 
public ActionResult NewProject(Project model) 
{ 
    if (ModelState.IsValid) 
    { 
     bool ok = false; 
     ViewBag.Message = "Publish your project." ; 
     //var photo = WebImage.GetImageFromRequest(); 
     var fileName = model.Image; 

     // store the file inside ~/App_Data/uploads folder 
     var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); 
     model.Image = path; 
    } 
} 

但我怎么能真正将这个文件保存到文件夹? 在此先感谢!

+0

你要上传文件到服务器使用Ajax? – 2013-03-01 08:38:10

回答

1

您无法使用jQuery ajax上传文件。如果客户端浏览器支持HTML5 File API,则可以使用XHR2对象实现该功能,如this article中所示。如果没有,你可以使用一些文件上传插件,如Fine Uploader,Uploadifyjquery.form plugin

下面是用jQuery的形式插件的例子:

@using (Html.BeginForm("someaction", "somecontroller", FormMethod.Post, new { id = "myForm", enctype = "multipart/form-data" })) 
{ 
    <input type="file" name="Image" id ="filename" /> 
    <input type="submit" value="Submit" id ="sub" />  
} 

然后:

$(function() { 
    $('#myForm').ajaxForm(function() { 
     alert('thanks for submitting'); 
    }); 
}); 
+0

对这篇文章的评论感到抱歉,但我是一个完全新手,当涉及到jQuery,JavaScript等......但我需要我的表单之一能够上传图像(扫描医生说明),然后保存它到我的应用程序中的一个文件夹,我没有看到任何路径被设置为它的保存位置,你可以详细说明一下吗? – 2015-05-15 07:55:30

相关问题