请教高手看这段程序,一次点击自动两次上传相同图片,这个代码哪里有问题啊?

yasoo 2005-05-28 02:08:18
//响应上传图片文件事件
public void picup_Click(object s1,EventArgs e1)
{

//选择了一个文件

if(FileUp.PostedFile.ContentLength != 0)
{
//验证上传类型
if(FileUp.PostedFile.ContentType == "image/jpeg" || FileUp.PostedFile.ContentType == "image/gif" || FileUp.PostedFile.ContentType == "image/bmp" || FileUp.PostedFile.ContentType == "image/jpg")
{
//取得文件名
string filename = FileUp.PostedFile.FileName;
//取得文件名长度
int i = filename.Length;
filename = filename.Remove(0,i-4);
string s = DateTime.Now.Year.ToString()
+DateTime.Now.Month.ToString()
+DateTime.Now.Day.ToString()
+DateTime.Now.Hour.ToString()
+DateTime.Now.Minute.ToString()
+DateTime.Now.Second.ToString()
+DateTime.Now.Millisecond.ToString();

string d=Server.MapPath("upfiles/") + s + filename;

//把每一个文件名保存在一个字符串里面.
//f = "";

//f = "upfiles/" + f + s + filename ;
//f = "upfiles/" + s + filename ;
//把f的值保存在ViewState里.
ViewState["filename"] += f;
//ViewState["filename"] =ViewState["filename"] + f;**/

FileUp.PostedFile.SaveAs(d);

message.Text = "上传成功";

Session["pic"] = "1";

}
else
{
message.Text = "只能上传jpeg,jpg,gif,bmp格式图片";

Session["pic"] = "0";

}

}
else
{
message.Text="请选择上传文件";
Session["pic"] = "0";
}


}
...全文
116 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yasoo 2005-05-28
  • 打赏
  • 举报
回复
谢谢一夜孤舟,你的方法我能够用上
只是现在还是不知道我的方法有什么问题哈
不过不管了,能用就行
谢谢大家了:)
flyye_cs 2005-05-28
  • 打赏
  • 举报
回复
void Button1_Click(Object sender,EventArgs e)
{
if(MyFile.PostedFile != null)
{
try
{
if((MyFile.PostedFile.ContentLength>0&&MyFile.PostedFile.ContentLength<512000) && (MyFile.PostedFile.FileName.ToLower().EndsWith(".jpg")||MyFile.PostedFile.FileName.ToLower().EndsWith(".bmp")||MyFile.PostedFile.FileName.ToLower().EndsWith(".jpeg")||MyFile.PostedFile.FileName.ToLower().EndsWith(".jpe")||MyFile.PostedFile.FileName.ToLower().EndsWith(".gif")))
{
string strTime=DateTime.Now.ToString();
strTime=strTime.Replace("-","");
strTime=strTime.Replace(" ","");
strTime=strTime.Replace(":","");
string strFileName = MyFile.PostedFile.FileName;
string[] strTemp = strFileName.Split(new char[]{'.'});
strFileName=@"upload\"+strTime+"."+strTemp[strTemp.Length-1];
MyFile.PostedFile.SaveAs(Server.MapPath(strFileName));
string picurl="upload/"+strTime+"."+strTemp[strTemp.Length-1];

message.Text = "成功上传到 "+picurl;
}
else Label1.Text="禁止上传非图片格式的文件,且图片文件(后缀名为JPG/BMP/JPEG/JPE/JIF)小于500K才能上传!";
}
catch (Exception err)
{
Response.Write(err.ToString());
}
}
}
ld_thinking 2005-05-28
  • 打赏
  • 举报
回复
System.IO有个函数可以查文件后缀名 查下 不符合'.jpg,bmp,.gif'的就不让上传
hackate 2005-05-28
  • 打赏
  • 举报
回复
重新拌定下事件看看,看看事件触发有什么问题不?
sean168 2005-05-28
  • 打赏
  • 举报
回复
string FileN=file.PostedFile.FileName.Trim();
if(FileN!="")
{
try
{
string oldName=FileN.Substring(FileN.LastIndexOf("\\") + 1);//文件的原名
string formart=oldName.Substring(oldName.LastIndexOf("."));//取得文件格式
string date=DateTime.Now.ToShortDateString().Replace("-", "_");
string time=DateTime.Now.ToLongTimeString().Replace(":", "_");
string newName="B3_"+expendedID+"_"+date+"_"+time+formart;//保存时的名字
string mapPath = Server.MapPath("../../");
string path =mapPath + @"upfile\Expense\"+DateTime.Now.Year.ToString();
if(!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
file.PostedFile.SaveAs(path + @"\" + newName);
}
catch(Exception ex)
{
throw ex;
}
hxq987 2005-05-28
  • 打赏
  • 举报
回复
帮你顶了
yasoo 2005-05-28
  • 打赏
  • 举报
回复
另外,这段代码还有个问题,三种图片格式它只能上传bmp和gif的,jpg的就要报错。
sean168 2005-05-28
  • 打赏
  • 举报
回复
跟一下断点看看
haoco 2005-05-28
  • 打赏
  • 举报
回复
up

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧