2013-05-29 18 views
0

我有這個應用程序,我需要上傳圖像,我這樣做使用AJAX。 當我試圖上傳使用圖像:在MVC 2.0中使用ajax保存圖像

<input type="submit"/> 

是沒有問題的,但是當我試圖使用,

<input type="button"/> 

它是造成問題。
在我看來,我有這樣的事情:

<input type="file" id="OriginalLocation" name="OriginalLocation"/> 

而這正是我已經把控制器:

public ActionResult SaveEvent(EventModel viewModel, int? page) 

{ 

int Id = Session["ID"] != null ? UtilityHelper.GetIntegerValue(Session["ID"].ToString()) : 0; //this ID we are fetching from session 
HttpPostedFileBase file = Request.Files["OriginalLocation"]; 
viewModel.ContentType = file.ContentType; 
Int32 length = file.ContentLength; 
byte[] tempImage = new byte[length]; 
file.InputStream.Read(tempImage, 0, length); 
viewModel.ActualImage = tempImage; 
// BusinessLayer.Event.BusinessLayer.SetImage(viewModel); 
BusinessLayer.Event.BusinessLayer.SaveEvent(viewModel, Id); 
EventModel viewmodel = BusinessLayer.TeamEvent.BusinessLayer.GetAllEvents(page, Id); 
return View("~/Views/Home/Event.aspx", viewmodel); 
} 
+0

因此,這告訴我們什麼都沒有,你如何發佈第二種情況? – Gabe

+0

@加貝,對不起,我忘記了密碼。你走了。 – Novice

回答

1

您不能上傳使用AJAX,文件至少在舊的瀏覽器不是不支持HTML 5 File API。如果您不需要支持這些傳統瀏覽器,則只需使用新的FormDataXMLHttpRequest對象即可。另一方面,如果您需要支持傳統瀏覽器,則可能需要使用隱藏的iframe或Flash電影等其他技術。例如,有插件可以檢測瀏覽器功能,並基於它們使用正確的技術。看看jquery.form pluginUploadify

+0

感謝您通知我。我只是在浪費我的時間和精力。 我會看到你所說的。 – Novice