改变FileUpload文件上传控件的显示方式,选择文件后自动上传

一、Aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileUploadDemo.aspx.cs" Inherits="WebApplication1.FileUploadDemo" %>

<!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 id="Head1" runat="server">
    <title></title>
    <style type="text/css">
        .button{ cursor:pointer; background-color:#1481E6;border:1px solid #fff;text-align:center;height: 25px;color:#fff;line-height:19px;}
    </style>
    <script type="text/javascript">
        function uploadFile(filePath) {
            if (filePath.length > 0) {
                __doPostBack('btnUploadFile', '');
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div style="position: absolute; z-index: 2; cursor: pointer;">
        <asp:FileUpload ID="fileUpload" runat="server" Style="filter: alpha(opacity=0); opacity: 0; cursor: pointer;" Width="70px" Height="25px" onchange="uploadFile(this.value)" accept="image/*" />
    </div>
    <div style="position: absolute; z-index: 1; cursor: pointer; height: 25px;">
        <input type="button" name="btnUploadFile" id="btnUploadFile" runat="server" value="上傳新檔案" class="button" />
    </div>
    </form>
</body>
</html>

二、Aspx后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

namespace WebApplication1
{
    public partial class FileUploadDemo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            btnUploadFile.ServerClick += new EventHandler(btnUploadFile_ServerClick);
        }

        void btnUploadFile_ServerClick(object sender, EventArgs e)
        {
            if (this.fileUpload.HasFile)
            {
                string fileName = this.fileUpload.PostedFile.FileName;                  // 客户端文件路径
                string extension = System.IO.Path.GetExtension(fileName);
                if (extension.ToLower() != ".jpg" && extension.ToLower() != ".png")
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "msg", "alert('只允许jpg 和 png!');", true);
                    return;
                }

                string pathBase = "D:\\UploadFile";
                if (!Directory.Exists(pathBase))
                    Directory.CreateDirectory(pathBase);
                string webFilePath = Path.Combine(pathBase, fileName); // 数据库保存文件路径(相对全路径)
                this.fileUpload.SaveAs(webFilePath);  // 使用 SaveAs 方法保存文件
                ScriptManager.RegisterStartupScript(this, this.GetType(), "msg", "alert('上傳成功,我們會盡快進行核對!');", true);
            }
        }
    }
}

参考:http://www.cnblogs.com/Charles2008/archive/2008/07/20/1247084.html

posted @ 2014-07-08 18:24  LS庆  阅读(4834)  评论(0编辑  收藏  举报