页面上放入
<input id="uploadfile1" runat="server" style="width: 296px" type="file" />
调用时直接调用upHtmlFile()方法,返回上传文件的路径。
此方法可以上传各种文件。
后台代码:
private static Random rnd = new Random(); //获取一个随机数
public string upHtmlFile()
{
string[] arr = new String[5];
string FileName = GetUniquelyString(); //获取一个不重复的文件名
string FileOrginName = this.uploadfile1.PostedFile.FileName.Substring
(uploadfile1.PostedFile.FileName.LastIndexOf("//") + 1);//获取文件的原始名
if (uploadfile1.PostedFile.ContentLength <= 0)
{ //return null;
}
string postFileName;
string FilePath = Server.MapPath("upload");
string path = FilePath + "//";
int pos = uploadfile1.PostedFile.FileName.LastIndexOf(".") + 1;
postFileName = uploadfile1.PostedFile.FileName.Substring(pos, uploadfile1.PostedFile.FileName.Length - pos);
uploadfile1.PostedFile.SaveAs(path + FileName + "." + postFileName); //存储指定的文件到指定的目录
return "Admin/upload/" + FileName + "." + postFileName;//上传后的路径;
}
public static string GetUniquelyString() //获取一个不重复的文件名
{
const int RANDOM_MAX_VALUE = 1000;
string strTemp, strYear, strMonth, strDay, strHour, strMinute, strSecond, strMillisecond;
DateTime dt = DateTime.Now;
int rndNumber = rnd.Next(RANDOM_MAX_VALUE);
strYear = dt.Year.ToString();
strMonth = (dt.Month > 9) ? dt.Month.ToString() : "0" + dt.Month.ToString();
strDay = (dt.Day > 9) ? dt.Day.ToString() : "0" + dt.Day.ToString();
strHour = (dt.Hour > 9) ? dt.Hour.ToString() : "0" + dt.Hour.ToString();
strMinute = (dt.Minute > 9) ? dt.Minute.ToString() : "0" + dt.Minute.ToString();
strSecond = (dt.Second > 9) ? dt.Second.ToString() : "0" + dt.Second.ToString();
strMillisecond = dt.Millisecond.ToString();
strTemp = strYear + strMonth + strDay + "_" + strHour + strMinute + strSecond + "_" +
strMillisecond + "_" + rndNumber.ToString();
return strTemp;
}