您的位置:首页 > 编程语言 > ASP

ASP.NET文件上传,为每个用户建立一个上传目录

2009-09-14 14:46 495 查看
文件上传界面既可以用Html的input file控件,又可以用FileUpload控件,只要将Html的input file控件加上runat="server",就会发现两者的功能完全是一模一样,上传的代码是共用的,不需要做任何改变。我想微软在将Html控件将成标准控件时应该只是多加了runat="server"吧。放入上述两者的任一控件后,添加一个标准的Button按钮(Html按钮也行,不过需要加上runat="server"),双击Button按钮,产生点击事件。在点击事件中写入以下代码:

首先检查是否已经选了文件

if (this.myFile.PostedFile != null)

{

检查文件根目录是否存在,不存在就要创建

if (!System.IO.Directory.Exists(Server.MapPath("~")+@"/photoes"))
{
System.IO.Directory.CreateDirectory(Server.MapPath("~")+@"/photoes");
}

此处Server.MapPath("~")用来表示项目根目录的物理路径。

接下来创建用户文件夹,根据用户ID创建

if(!System.IO.Directory.Exists(Server.MapPath("~")+@"/photoes/"+userID))

{

System.IO.Directory.CreateDirectory(Server.MapPath("~")+@"/photoes/"+userID)

}

string orignalName = this.myFile2.PostedFile.FileName;//获取客户机上传文件的路径

int lastdotlocation = orignalName.LastIndexOf(".");

string extendName = orignalName.Substring(lastdotlocation);//获取扩展名

if (extendName != ".gif" && extendName != ".jpg" && extendName != ".jpeg" && extendName != ".png")
{
Response.Write("Wrong format");
Response.End();

}//检查文件格式

string newName = DateTime.Now.Millisecond.ToString() + "_" + myFile2.PostedFile.ContentLength.ToString() + extendName;//对文件进行重命名

myFile.PostedFile.SaveAs(Server.MapPath("~") + @"/photoes/" +userID+@"/"+ newName);

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