BS—文件上传
今天我们学学习一下文件上传到功能
一个静态的Html页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<!--enctype="multipart/form-data":选择该方式说明选择的是文件流,也就是文件的本身,如果表单中不上传文件,就不在需要enctype-->
<form method="post" action="ProcessFileUP.ashx" enctype="multipart/form-data">
<input type="file" name="fileup" />
<input type="text" name="txtName" />
<input type="submit" value="上传" />
</form>
</body>
</html>
文件上传的具体方法:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
//一次只能上传一个文件,
//获取上传的文件
HttpPostedFile file = context.Request.Files[0];
if (file.ContentLength>0)
{
//对上传文件的类型进行校验,获取上传文件的名称、
string fileName = Path.GetFileName(file.FileName);//获取上传文件的名称,包含扩展名
string fileExt = Path.GetExtension(fileName);//获取用户上传文件扩展名
if (fileExt == ".jpg")
{ //对上传的文件进行重命名
string newfilename = Guid.NewGuid().ToString();
//将上传的文件夹放在不同的目录下面,今天的文件放在今天的文件夹下面
string dir = "/ImageUpload/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
//创建文件夹
if (!Directory.Exists(context.Request.MapPath(dir)))
{
Directory.CreateDirectory(context.Request.MapPath(dir));
}
//文件的完整路径
string fullDir = dir + newfilename + fileExt;
file.SaveAs(context.Request.MapPath(fullDir));
//对文件进行保存
file.SaveAs(context.Request.MapPath("ImageUpload/" + fileName));
//展示上传是的文件图片
context.Response.Write("<html><body><img src='" + fullDir + "'></body></html>");
}
else
{
context.Response.Write("只能上传图片文件");
}
}
else
{
context.Response.Write("请选择上传文件");
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
当然还有一个出错的界面:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
window.onload =function() {
setTimeout(change,1000);
}
function change() {
var time = document.getElementById("time").innerHTML;
time = parseInt(time);
time--;
if (time < 1) {
window.Location.href = "HanderUserInfo.ashx"
}
else {
document.getElementById("time").innerHTML = time;
setTimeout(change, 1000)
}
}
</script>
</head>
<body>
服务器忙!<span style="font-size:20px;color:red "id="time">5</span>秒钟后自动跳转<a href="HanderUserInfo.ashx">用户列表</a>
</body>
</html>
效果展示:
如果本篇博客对您有所帮助,记得点赞哦!