您的位置:首页 > 其它

.net文件上传(整理)

2007-07-24 09:25 357 查看
1
传输快慢和最大的传输大小和网速及服务器端的内存大小有很大的关系.建议服务器端内存加大.


<system.web>


<httpRuntime maxRequestLength="102400" executionTimeout="3600"/>


</system.web>


第一个文件大小。第二个参数是超时时间。102400=100m



2 http://blog.csdn.net/Josion/archive/2006/12/04/1429465.aspx



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




<!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 style="border-right: #ffff00 thin dashed; border-top: #ffff00 thin dashed; margin-bottom: 4px; margin-left: 55px; border-left: #ffff00 thin dashed; line-height: normal; margin-right: 55px; padding-top: 1px; border-bottom: #ffff00 thin dashed; letter-spacing: normal; position: static; background-color: silver; text-align: center">


<br />


<asp:Label ID="LabelTitle" runat="server" Font-Bold="True" Font-Size="XX-Large" ForeColor="Black"


Text="上传管理"></asp:Label><br />


<br />


<asp:FileUpload ID="FileUpload1" runat="server" Width="369px"/>


 <asp:Button ID="ButtonUp" runat="server" Height="21px" Text="上 传" Width="67px" OnClick="ButtonUp_Click" /><br />


<br />


<asp:Label ID="LabelTitle2" runat="server" ForeColor="Red" Text="*上传文件不能超过2M"></asp:Label><br />


<b>原文件名:</b><span id ="FileName" runat="server" /><br />


<b>上传到服务器:</b><span id="SaveDir" runat="server" /><br />


<b>缩略图地址:</b><span id ="sSaveDir" runat ="server" /><br />


<b>文件类型:</b><span id ="FileType" runat ="server" /><br />


<b>文件大小:</b><span id="FileLength" runat ="server" /><br />


<b>文件拓展名:</b><span id="FileExtention" runat="server" /><br />


<b>上传日期:<br /><span id ="UpDateTime" runat ="server" /><br />


图片预览:<br />


<asp:Image ID="Image1" runat="server" ImageUrl="~/Login.aspx" BorderColor="#0000C0"/><br />


</b>


<br />


<br />


 </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 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






SetPhotoSize#region SetPhotoSize


FileLength.InnerHtml = CountSize(FileUpload1.PostedFile.ContentLength);


if (FileUpload1.PostedFile.ContentLength > 1024 * 1024 * 2)




...{


Response.Write("<script>alert('图片不能超过规定大小!');</script>");


}


else




...{




SetPhotoFormat#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;






SetSmallPhoto#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("<script>alert('图片文件保存成功!');</script>");






SaveDataBasee#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("<script>alert('图片格式不正确,请选择图片文件!');</script>");


}


#endregion


}


#endregion


}


catch (Exception m_Ex)




...{


Response .Write ("<script>alert('"+m_Ex.ToString ()+"');</script>");


}


}


else if (FileUpload1.PostedFile.FileName == "")




...{


Response.Write("<script>alert('上传文件不能为空!');</script>");


}


}






...#region




/**//// <summary>


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


/// </summary>


/// <param name="Size">初始文件大小</param>


/// <returns></returns>


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






SaveSmallPhoto#region SaveSmallPhoto




/**//// <summary>


/// 高清晰缩略图算法


/// </summary>


/// <param name="postFile">图片文件对象</param>


/// <param name="saveImg">要保存为缩略图的源文件</param>


/// <param name="Width">宽度</param>


/// <param name="Height">高度</param>


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


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: