#javascript #jquery #asp.net #flash
#javascript #jquery #asp.net #flash
Вопрос:
Я пытаюсь создать загрузчик файлов с индикатором выполнения с Asp.net Jquery.
важно то, что у меня нет веб-страницы MVC.
Я следовал инструкциям здесь: http://blog.stevensanderson.com/2008/11/24/jquery-ajax-uploader-plugin-with-progress-bar /
Однако он просто пропускает весь обработчик, который мне нужно создать..
до сих пор у меня есть:
<script src="../../Scripts/swfupload.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-asyncUpload-0.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#yourID").makeAsyncUploader({
upload_url: "/Controls/UploadHandler.ashx", // Important! This isn't a directory, it's a HANDLER such as an ASP.NET MVC action method, or a PHP file, or a Classic ASP file, or an ASP.NET .ASHX handler. The handler should save the file to disk (or database).
flash_url: '../../Scripts/swfupload.swf',
button_image_url: '../../Scripts/blankButton.png'
});
});
</script>
и все это работает так, как должно. Однако он, очевидно, не загружается, потому что у меня нет обработчика.. Но я понятия не имею, с чего начать с обработчика ASHX..
Я безуспешно пытался выполнить поиск в сети. Может кто-нибудь указать мне правильное направление, как создать этот обработчик?
Ответ №1:
Я отсортировал его
<%@ WebHandler Language="C#" Class="UploadHandler" %>
using System;
using System.Web;
using System.IO;
public class UploadHandler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
string strFileName = Path.GetFileName(context.Request.Files[0].FileName);
string strExtension = Path.GetExtension(context.Request.Files[0].FileName).ToLower();
string strLocation = context.Server.MapPath("~/SaveFile") "/" strFileName;
context.Request.Files[0].SaveAs(strLocation);
context.Response.ContentType = "text/plain";
context.Response.Write("OK");
}
public bool IsReusable {
get {
return false;
}
}
}