ASP.NET文件上载

Bre*_*ett 6 c# asp.net file-upload http-post

我正在尝试创建一个服务器页面(C#,asp.net 2.0+)来保存从另一个页面上传的文件.

具体来说,我有一个HTML页面

<form action="upload.aspx"> 
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何处理在upload.aspx中保存服务器上的文件.

我找到了一些例子(一个是:http://msdn.microsoft.com/en-us/library/aa479405.aspx),但这需要<input type=file>元素在同一页面上.

我在upload.aspx页面上抓取已发布的文件时遇到了困难.

任何人有任何指针?当从另一个页面发布文件时,如何在aspx中获取已发布的文件并将其保存到服务器?

非常感谢,布雷特

Ram*_*nan 11

1.创建Uploadfile.aspx

2.使用iframe在您的Html页面中嵌入Uploadfile.aspx

    <%@ 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>
Run Code Online (Sandbox Code Playgroud)
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
        fuSample.SaveAs(Server.MapPath("Files") + "//" + fuSample.FileName);
        lblMessage.Text = "File Successfully Uploaded";
    }
}
Run Code Online (Sandbox Code Playgroud)

然后将您的aspx页面嵌入Html中,如下所示,

<iframe height="40" width="700" src="Uploadfile.aspx">
</iframe>
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用UploadFiles.aspx从html本身上传文件.