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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改变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);
      }
    }
  }
}

  

以上是关于改变FileUpload文件上传控件的显示方式,选择文件后自动上传的主要内容,如果未能解决你的问题,请参考以下文章

循环通过 FileUpload 控件上传的 txt 文件行

使用apache的fileupload组件上传文件怎么解决编码问题?

用FileUpLoad控件上传图片后,如何将读取出的图片路径存储下来?

用FileUpLoad控件上传图片后,如何将读取出的图片路径存储下来?

如何在 FileUpload 控件中限制文件类型

jQuery fileupload 多文件上传