ASP.NET WebForm中如何使用FileUpload控件上传文件:
前端:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UploadFile.aspx.cs" Inherits="sydweb.UI.Public_page.UploadFile" %>
<%@ Register Assembly="DevExpress.Web.v16.2, Version=16.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" src="/Scripts/EasyUI/jquery.min.js"></script>
<script type="text/javascript" src="/Scripts/EasyUI/jquery.cookie.js"></script>
<script type="text/javascript" src="/Scripts/EasyUI/jquery.easyui.min.js"></script>
<script type="text/javascript" src="/Scripts/EasyUI/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript" src="/Scripts/EasyUI/datagrid-filter/datagrid-filter.js"></script>
<script type="text/javascript" src="/Scripts/utility.js"></script>
<link href="/Scripts/EasyUI/themes/icon.css" rel="stylesheet" />
<link href="/Scripts/EasyUI/themes/default/easyui.css" rel="stylesheet" />
<style type="text/css">
.auto-style4 {
width: 20%;
height: 14px;
}
#textbox1 {
width: 365px;
margin-left: 0px;
}
.auto-style5 {
width: 70px;
}
</style>
</head>
<body>
<form id="form1" style="width:500px; height:60px;" runat="server">
<div style="width: 500px; align-content:center;">
<table style="width:100%;height:60px;align-content:center;border:1px solid #F00;text-align: center; border-collapse: collapse;">
<tr>
<td style="width:10%;flex-wrap:nowrap;">
<dx:ASPxLabel ID="select_lbl" runat="server" Text="请选择文件:" Width="80px"></dx:ASPxLabel>
</td>
<td style="width:90%;flex-wrap:nowrap;">
<asp:FileUpload ID="FileUpload1" ClientIDMode="Static" runat="server" Text="浏览" Height="23px" Width="410px" onchange="text_disp_filename();" />
</td>
</tr>
<tr>
<td colspan="2" style="flex-wrap: nowrap;" class="auto-style4">
<table style="width:100%;">
<tr>
<td style="flex-wrap: nowrap;width:90%;" >
<dx:ASPxLabel ID="upload_result" runat="server" Text=""></dx:ASPxLabel>
</td>
<td align="right" style="flex-wrap: nowrap;" class="auto-style5">
<dx:ASPxButton ID="upload_btn" runat="server" Text="上传" Style="width: 70px; margin-left: 0px" Theme="Aqua" OnClick="upload_btn_Click" Width="100%" Height="16px"></dx:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
<script type="text/javascript">
function text_disp_filename()
{
$("[name='filename_textbox']").attr("value",FileUpload1.files[0].name);
}
</script>
</body>
</html>
后端:
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DevExpress.Web;
using DevExpress.Utils;
namespace sydweb.UI.Public_page
{
public partial class UploadFile : System.Web.UI.Page
{
public static string zplj = @"/企业维护/1/";
protected void Page_Load(object sender, EventArgs e)
{
//zplj = Request.QueryString["zplj"].ToString().Trim();
}
private string randomFileName(string fileExtension)
{
//
//根据日期和随机数生成随机的文件名
//
string saveName, fileName;
Random objRand = new Random();
System.DateTime date = DateTime.Now;
//生成随机文件名
saveName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + date.Hour.ToString() + date.Minute.ToString()
+ date.Second.ToString() + Convert.ToString(objRand.Next(99) * 97 + 100);
fileName = saveName + fileExtension;
return fileName;
}
protected void upload_btn_Click(object sender, EventArgs e)
{
try
{
if(FileUpload1.PostedFile.FileName=="")
{
upload_result.Text = "要上传的文件不能为空!";
return;
}
else
{
string ext = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf("."));//初始值为.JPG格式
string filepath = FileUpload1.PostedFile.FileName;//全路径
string update_path = Server.MapPath("/Pic" + zplj);//上传服务器路径
string sql_dt_path = @"/Pic" + zplj;//sqlserver 数据库中要写的路径
string AfileName = randomFileName(ext);
string filename = AfileName;//保存文件名以备其他页面调用
Session["wdtpzb_ScanRandomFileName"] = AfileName;//文件名
Session["wdtpzb_ScanRandomFileName_wjlj"] = sql_dt_path;//路径
Session["wdtpzb_ScanRandomFileName_ext"] = ext;//扩展名
//判断路径是否存在,若不存在则创建路径
DirectoryInfo upDir = new DirectoryInfo(update_path);
if (!upDir.Exists)
{
upDir.Create();
}
FileUpload1.PostedFile.SaveAs(update_path+filename);
upload_result.Text = "上传成功!";
}
}
catch(Exception ex)
{
upload_result.Text = "处理发生错误!原因:" + ex.ToString();
}
}
}
}