I am trying to make a server page (C#, asp.net 2.0+) to save an uploaded file from another page.
Specifically, I have an HTML page with a
<form action="upload.aspx">
and I can't figure out how to handle saving the file on the server in upload.aspx.
I found a few examples (one being: http://msdn.microsoft.com/en-us/library/aa479405.aspx)
but that requires the <input type=file>
element to be on the same page.
I am having difficulties with grabbing the posted file on my upload.aspx page.
Anyone have any pointers? How can I grab a posted file in aspx and save it to the server when the file is posted from another page?
Many thanks, Brett
1.Create Uploadfile.aspx, code as below:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Uploadfile.aspx.cs" Inherits="Uploadfile" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>File Upload Control</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload runat="server" ID="fuSample" />
<asp:Button runat="server" ID="btnUpload" Text="Upload"
onclick="btnUpload_Click" />
<asp:Label runat="server" ID="lblMessage" Text=""></asp:Label>
</div>
</form>
</body>
</html>
2.create Uploadfile.aspx.cs
, code as below:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Uploadfile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnUpload_Click(object sender, EventArgs e)
{
//Files is folder Name, make sure it exists
fuSample.SaveAs(Server.MapPath("/Files") + "//" + fuSample.FileName);
lblMessage.Text = "File Successfully Uploaded";
}
}
3.create a new file: demo.html
, code shown as below, (embed the Uploadfile.aspx in Your Html page using iframe)
<h3>Demo</h3>
<iframe height="40" width="700" src="Uploadfile.aspx">
</iframe>
4.visit /demo.html
, now you can be able to upload your file from html itself,by using UploadFiles.aspx