2013-04-27 1 views
1

Как я могу асинхронно загружать файл на веб-сайт asp.net (Webforms) без каких-либо почтовых сообщений?Как загрузить файл с помощью Ajax в asp.net?

+0

это может помочь http://stackoverflow.com/questions/4155069/net-webmethod-fileupload? –

+0

проверить это http://www.aspdotnet-suresh.com/2012/04/ajax-asyncfileupload-control-example-in.html –

ответ

0

Его прост в использовании jQuery Forms plugin для этой цели. Мы можем использовать его в asp webforms, как показано ниже.

HTML/ASPX страницы

<form id="myForm" action="fileupload.ashx" method="post"> 
     Name: <input type="text" name="name" /> 
     File: <input type="file" name="filetoupload" /> 
     <input type="submit" value="Submit Comment" /> 
    </form> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
     <script src="http://malsup.github.com/jquery.form.js"></script> 
    <script> 
     $(document).ready(function() { 
     // attach handler to form's submit event 
     $('#myForm').submit(function() { 
      // submit the form 
      $(this).ajaxSubmit(); 
      // return false to prevent normal browser submit and page navigation 
      return false; 
     }); 
    }); 
</script> 

Чистый HTML, используемый в этом примере. Если aspx webforms, на странице будет только один тег формы.

Добавить WebHandler (расширение .ashx) на сайт.

using System; 
using System.Web; 

public class Handler : IHttpHandler { 

public void ProcessRequest (HttpContext context) { 
    HttpPostedFile MyFile=context.Request.Files["filetoupload"]; 
    if (MyFile.ContentLength > 0 && MyFile != null) 
    { 
     MyFile.SaveAs(context.Server.MapPath("Path/On/Server")); 
    } 
    context.Response.Write("Saved Successfully"); 
} 

public bool IsReusable { 
    get { 
     return false; 
    } 
} 
Смежные вопросы