Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)delv
published in(发表于) 2014/1/16 9:28:45
ASP.NET之上传文件管理策略_[Asp.Net教程]

ASP.NET之上传文件管理策略_[Asp.Net教程]

















最近做的项目跟ASP.NET上传文件内容有关,故将代码贴出,以便网友查阅,提供解决此类问题思路:如出现任何不理解问题,请留言,及时帮您解决!




<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>









::::上传管理系统::::






Text="上传管理">




&nbsp;onClick="ButtonUp_Click" />





原文件名:

上传到服务器:

缩略图地址:

文件类型:

文件大小:

文件拓展名:

上传日期:


图片预览:








&nbsp;






***************************************************************************




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 MWO.Model.Info;
using MWO.DAL.Info;
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void ButtonUp_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile.FileName != null)
{
try
{
FileName.InnerHtml = FileUpload1.PostedFile.FileName;//GetPhotoName
UpDateTime.InnerHtml = DateTime.Now.ToShortDateString();//UpDateTime




#region SetPhotoSize
FileLength.InnerHtml = CountSize(FileUpload1.PostedFile.ContentLength);
if (FileUpload1.PostedFile.ContentLength > 1024 * 1024 * 2)
{
Response.Write("");
}
else
{
#region SetPhotoFormat
FileType.InnerHtml = FileUpload1.PostedFile.ContentType;
FileExtention.InnerHtml = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName).ToUpper();
string m_FileName = "www.MWO.Com-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff").Replace(".", "-") + FileExtention.InnerHtml;
string m_sFileName = "www.MWO.Com-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff").Replace(".", "-") + FileExtention.InnerHtml;
if (FileExtention.InnerHtml == ".JPG")
{
string m_SavePath = Server.MapPath("./photo/") + m_FileName;
SaveDir.InnerHtml = m_SavePath;




#region SetSmallPhoto
this.MakeSmallImg(FileUpload1.PostedFile, this.Server.MapPath("./SPhoto/") + m_sFileName, 118, 90);
string m_sSavePath = this.Server.MapPath("./SPhoto/") + m_sFileName;
sSaveDir.InnerHtml = m_sSavePath;
#endregion




FileUpload1.PostedFile.SaveAs(m_SavePath);
Response.Write("");




#region SaveDataBasee
PhotoInfo m_PInfo = new PhotoInfo();
m_PInfo.Organization = "5173";
m_PInfo.PicName = FileName.InnerHtml;
m_PInfo.ServerName = "GLSDB";
m_PInfo.Cdate = DateTime.Now;
m_PInfo.Exp = FileExtention.InnerHtml;
m_PInfo.Flag = 0;
m_PInfo.GameNickName = "Bruce";//TextBox控件内容
m_PInfo.MoonStar = 0;
m_PInfo.ShowIndex = 0;
m_PInfo.SPicHttpAddr = m_sSavePath;
m_PInfo.Type = 0;
m_PInfo.Vote = 0;
m_PInfo.PicHttpAddr=m_SavePath;




PhotoDAO m_PDao = new PhotoDAO();
m_PDao.Insert(m_PInfo);
#endregion
}
else
{
Response.Write("");
}
#endregion
}
#endregion
}
catch (Exception m_Ex)
{
Response .Write ("");
}
}
else if (FileUpload1.PostedFile.FileName == "")
{
Response.Write("");
}
}




#region
///


/// 计算文件大小函数,Size为字节大小
///

/// 初始文件大小
///
public string CountSize(long Size)
{
string m_strSize = "";
long FactSize = 0; FactSize = Size;
if (FactSize <= 1024)
m_strSize = FactSize.ToString() + "Byte";
if(FactSize>=1024&&FactSize<=1048576)
m_strSize=(FactSize/1024).ToString ()+"K";
if (FactSize >= 1048576 && FactSize <= 10485760)
m_strSize = (FactSize / 1024 / 1024).ToString() + "M";
return m_strSize;
}
#endregion




#region SaveSmallPhoto
///


/// 高清晰缩略图算法
///

/// 图片文件对象
/// 要保存为缩略图的源文件
/// 宽度
/// 高度
public void MakeSmallImg(System.Web.HttpPostedFile postFile, string saveImg, System.Double Width, System.Double Height)
{




//SourcePhotoName
string m_OriginalFilename = postFile.FileName;
string m_strGoodFile = saveImg;




//GetPhotoObject From SourceFile
System.Drawing.Image m_Image = System.Drawing.Image.FromStream(postFile.InputStream, true);




System.Double NewWidth, NewHeight;
if (m_Image.Width > m_Image.Height)
{
NewWidth = Width;
NewHeight = m_Image.Height * (NewWidth / m_Image.Width);
}
else
{
NewHeight = Height;
NewWidth = (NewHeight / m_Image.Height) * m_Image.Width;
}




if (NewWidth > Width)
{
NewWidth = Width;
}
if (NewHeight > Height)
{
NewHeight = Height;
}




//GetPhotoSize
System.Drawing.Size size =new System.Drawing.Size((int)NewWidth, (int)NewHeight);
//The New of Bimp Photo
System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width, size.Height);
// The New of Palette
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
// Set HightQuality Arithmetic For Graphics
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//ClearCanvas
g.Clear(System.Drawing.Color.White);
//在指定位置画图
g.DrawImage(m_Image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
new System.Drawing.Rectangle(0, 0, m_Image.Width, m_Image.Height),
System.Drawing.GraphicsUnit.Pixel);




//SavePhoto Of HightFocus
bitmap.Save(m_strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg);
//DisposeRes
g.Dispose();
m_Image.Dispose();
bitmap.Dispose();
}




#endregion
}




来源:网络

























If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759