前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="图片上传._Default" %>
<!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>图片上传</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image ID="imgPhoto" runat="server" Visible="False" Width="150px" Height="150px"/>
<asp:FileUpload ID="fuBrowse" runat="server" />
<asp:Button ID="btnUploding" runat="server" OnClick="btnUploding_Click" Text="上传" /></div>
</form>
</body>
</html>
后台:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
namespace 图片上传
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnUploding_Click(object sender, EventArgs e)
{
string fileName = "";
string fileType = "";
string serverPath = "";
if (!fuBrowse.HasFile)
{
//没有文件
ClientMessage("请选择文件!");
}
else
{
bool temp = false;
fileName = fuBrowse.FileName;
//获得图片类型
fileType = Path.GetExtension(fileName).ToLower();
string[] types = new string[] { ".png", ".jpg", ".jpge", ".gif" };
for (int i = 0; i < types.Length; i++)
{
if (fileType == types[i])
{
temp = true;
}
}
if (!temp)
{
//文件类型
ClientMessage("文件类型不正确!");
}
else
{
//设置图片存储路径
serverPath = Server.MapPath("Images/");
fileName = DisposeFileName(fileName, fileType);
CheckFilePath(serverPath, fileName);
fuBrowse.SaveAs(serverPath + fileName);
if (File.Exists(serverPath + fileName))
{
ClientMessage("上传成功!");
imgPhoto.Visible = true;
imgPhoto.ImageUrl = "Images/" + fileName;
}
}
}
}
/// <summary>
/// 客户端信息
/// </summary>
/// <param name="message"></param>
protected void ClientMessage(string message)
{
Page.ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('" + message + "')</script>");
}
/// <summary>
/// 检验路径
/// </summary>
/// <param name="path"></param>
/// <param name="fileName"></param>
protected void CheckFilePath(string path, string fileName)
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
if (File.Exists(path + fileName))
{
ClientMessage("文件已存在!");
}
}
/// <summary>
/// 图片重命名
/// </summary>
/// <param name="fileName"></param>
/// <param name="fileType"></param>
/// <returns></returns>
protected string DisposeFileName(string fileName, string fileType)
{
Random rd = new Random();
DateTime dt = DateTime.Now;
fileName = dt.ToString("yyyyMMddHHmmss") + rd.Next(100, 999) + fileType;
return fileName;
}
}
}