ASPX
Code:
<!DOCTYPE html>
<html>
<head runat="server">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" CssClass="file-upload-dialog" />
<asp:Button runat="server" ID="btnUpload" CssClass="btn upload" Text="Upload" />
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#aspnetForm').attr("enctype", "multipart/form-data");
});
$('#<%= btnUpload.ClientID
%>').on('click', function
(e) {
e.preventDefault();
var
fileInput = $('#<%= FileUpload1.ClientID %>');
var
fileData = fileInput.prop("files")[0]; // Getting the
properties of file from file field
var
formData = new window.FormData(); //
Creating object of FormData class
formData.append("file", fileData); // Appending parameter named file with properties of file_field
to form_data
$.ajax({
url: 'FileUpload.ashx',
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
//Success
call back here
},
error: function
(errorData) {
//error
message
}
});
});
</script>
</form>
</body>
</html>
FileUpload.ashx
<%@ WebHandler
Language="C#"
Class="FileUpload"
%>
using
System;
using
System.Web;
using
System.IO;
public class FileUpload :
IHttpHandler {
public void ProcessRequest (HttpContext
context) {
context.Response.ContentType = "multipart/form-data";
context.Response.Expires = -1;
try
{
HttpPostedFile
postedFile = context.Request.Files["file"];
string
savepath = HttpContext.Current.Server.MapPath("~/Images/");
var
extension = Path.GetExtension(postedFile.FileName);
if
(!Directory.Exists(savepath))
Directory.CreateDirectory(savepath);
var
id = Guid.NewGuid() + extension;
if
(extension != null)
{
var
fileLocation = string.Format("{0}/{1}",savepath,id);
postedFile.SaveAs(fileLocation);
context.Response.Write(fileLocation);
context.Response.StatusCode =
200;
}
}
catch (Exception ex)
{
context.Response.Write("Error: " + ex.Message);
}
}
public bool IsReusable {
get {
return
false;
}
}
}
FileUpload.ashx
using VB.Net
Imports
System.Web
Imports
System.IO
Public Class FileUpload
Implements IHttpHandler
Public Sub ProcessRequest(context As
HttpContext) Implements
IHttpHandler.ProcessRequest
context.Response.ContentType = "multipart/form-data"
context.Response.Expires = -1
Try
Dim
postedFile As HttpPostedFile
= context.Request.Files("file")
Dim
savepath As String
= HttpContext.Current.Server.MapPath("~/Images/")
Dim
extension = Path.GetExtension(postedFile.FileName)
If Not Directory.Exists(savepath)
Then
Directory.CreateDirectory(savepath)
End
If
Dim
id = Convert.ToString(Guid.NewGuid()) & extension
If
extension IsNot Nothing
Then
Dim
fileLocation = String.Format("{0}/{1}", savepath, id)
postedFile.SaveAs(fileLocation)
context.Response.Write(fileLocation)
context.Response.StatusCode =
200
End
If
Catch
ex As Exception
context.Response.Write("Error: " & ex.Message)
End Try
End Sub
Public ReadOnly Property
IsReusable() As Boolean
Implements IHttpHandler.IsReusable
Get
Return
False
End Get
End Property
End Class
Comments
Post a Comment