2013-03-01 54 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

相關問題