ASPX文件上传限制类型实例源码
小菜分享下自己的思路,不知道各位有木有更好的方法
:
using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;
public partial class _default : system.web.ui.page
{
protected void page_load(object sender, eventargs e)
{
//myblog:https://seay.sinaapp.com/
}
protected void button1_click(object sender, eventargs e)
{
#region 文件类型判断
//得到上传文件名
string filename = fileupload1.filename;
//判断文件名中有木有.
if (!(filename.contains(".")))
{
response.write("该文件类型不允许上传!");
return;
}
//取到.的下标
int index = filename.lastindexof('.');
char[] c = filename.tochararray();
string file_hz = "";
//循环得到后缀名
for (int i = 0; i < filename.length - index; i++)
{
file_hz += c[index + i];
}
//允许上传的文件名
string[] filetype = { ".jpg", ".gif", ".bmp", ".jpeg" };
bool bl = false;
//循环遍历上传的文件扩展名是否在允许的扩展名中
foreach (string str in filetype)
{
if (str == file_hz)
{
bl = true;
}
}
if (bl == false)
{
response.write("该文件类型不允许上传!");
return;
}
#endregion
//获取时间戳给文件命名,这样写感觉有点复杂,不知道各位有木有好的方法获取时间戳
datetime starttime = timezone.currenttimezone.tolocaltime(new system.datetime(1970, 1, 1, 0, 0, 0, 0));
datetime newtime = datetime.now;
long utime = (long)math.round((newtime - starttime).totalmilliseconds, midpointrounding.awayfromzero);
filename = utime.tostring() + file_hz;
//获取文件字节数
string filelenght = fileupload1.postedfile.contentlength.tostring();
string filepath = server.mappath("img/" + filename);
//上传
fileupload1.saveas(filepath);
response.write("上传成功<br />文件大小:" + filelenght + "<br />路径:img/" + filename);
}
}
上一篇: 360家庭安全大脑亮相,周鸿祎深化IoT行业风险管控
下一篇: struts2 18拦截器详解(十)