编写了如下代码,先判断大小和尺寸,再决定是否上传。在本机调试,反应超快,一上传到服务器,就变得无比慢了。不管符不符合上传条件,一律超慢。如果符合上传条件,慢我都可以接受,但连判断为不符合条件的都要等很久才出现提示我就受不了(我设定这个限定条件目的就是为了快速返回嘛)。
只要把红色的注释掉(保存到服务器),立马就快了,连判断不符合条件的都能马上返回……
if (fimg1.PostedFile.FileName != "")
{
string savepath = Server.MapPath("tempimg/");
string fullname = fimg1.PostedFile.FileName;
long sizeint = fimg1.PostedFile.ContentLength;
string type = fimg1.PostedFile.ContentType; if (type == "image/pjpeg" || type == "image/jpeg")
{
if (sizeint > 1048576)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('您上传的图片大小超过了限制。');", true); ;
}
else
{ type = member.Text + DateTime.Now.ToString("yyMMddHHmmss") + ".jpg";
fimg1.PostedFile.SaveAs(savepath + type);
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('成功上传。');", true); }
}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('您上传的并非图片文件。');", true);
}
}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('您没有选择任何图片文件。');", true);
}
只要把红色的注释掉(保存到服务器),立马就快了,连判断不符合条件的都能马上返回……
if (fimg1.PostedFile.FileName != "")
{
string savepath = Server.MapPath("tempimg/");
string fullname = fimg1.PostedFile.FileName;
long sizeint = fimg1.PostedFile.ContentLength;
string type = fimg1.PostedFile.ContentType; if (type == "image/pjpeg" || type == "image/jpeg")
{
if (sizeint > 1048576)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('您上传的图片大小超过了限制。');", true); ;
}
else
{ type = member.Text + DateTime.Now.ToString("yyMMddHHmmss") + ".jpg";
fimg1.PostedFile.SaveAs(savepath + type);
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('成功上传。');", true); }
}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('您上传的并非图片文件。');", true);
}
}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "提示", "alert('您没有选择任何图片文件。');", true);
}
解决方案 »
- DataTable中的值和数据库查的值不一样
- 请教一下:如何利用.NET编程直接操作AD用户?
- 问个有深度的问题,关于航旅通接口的!
- 帮忙改改 怎样使最小化的时候使从左边开始消失的 然后就立在左边了 最大化的时候在从左边出来!!!!
- 求大虾解释下控件数的代码,不甚感激
- 小弟第一次做B/S系统,有几个问题想问一下各位大侠!~
- 打扰个位高手了!我想问一个点击按钮报这样的错了.
- 来抢饭碗啦~~~~
- 用C#在ASP.NET里边怎样更改EXCEL的SHEET名(假设只有一个SHEET)
- 在Vs.net中如何创建一个ASP工程?
- xml:Lang属性,该组件上的 GetValue 操作失败,生成错误代码 0x80070057
- datareader和dataset倒底怎么用?
唯一暂时不完全可信的方法是用js在客户端做格式判断,或者做服务端验证以及调用activx验证大小。但是目前好像还没有完美的解决方案。
{
if (sizeint > 1048576)
{ 你这里不就是在判断 格式 和 大小吗? 并没有上传啊...事件的发生也是分先后的啊..