ASP.NET中的文件上传问题

问题描述

usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassxueshengzuoye:System.Web.UI.Page{publicstaticstringfname;protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){if(Request["ID"]!=null){InitData();}}}privatevoidFileUpLoad(){if(UploadFile.Value!=null){stringnam=UploadFile.PostedFile.FileName;//取得文件名(抱括路径)里最后一个"."的索引inti=nam.LastIndexOf(".");//取得文件扩展名stringnewext=nam.Substring(i);//这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复DateTimenow=DateTime.Now;stringnewname=now.ToFileTimeUtc()+UploadFile.PostedFile.ContentLength.ToString();//保存文件到你所要的目录,这里是IIS根目录下的uploadfiles目录//注意:我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里""必须用"\"代替UploadFile.PostedFile.SaveAs(Server.MapPath("UpLoad/"+newname+newext));//得到这个文件的相关属性:文件名,文件类型,文件大小fname="UpLoad/"+newname+newext;}}protectedvoidInitData(){stringid=Request["ID"].ToString();try{stringSQL="select*fromTB_xueshengzuoyewhereID='"+id+"'";DataTabledt=DBHelper.GetDataSet(SQL).Tables[0];if(dt.Rows.Count>0){this.TextBox1.Text=dt.Rows[0]["ZuoYeName"].ToString();}}catch{}}protectedvoidButton1_Click(objectsender,EventArgse){if(UploadFile.Value!=null&&UploadFile.Value!=""){FileUpLoad();}stringSQL="";booliRet=false;if(Request["ID"]!=null){stringid=Request["ID"].ToString();SQL="updateTB_xueshengzuoyesetZuoYeName='"+this.TextBox1.Text+"',URl='"+fname+"'whereID='"+id+"'";iRet=DBHelper.ExecSql(SQL);}else{SQL="insertintoTB_xueshengzuoye(ZuoYeName,URl,AddUser)values('"+this.TextBox1.Text+"','"+fname+"','"+Session["username"].ToString()+"')";iRet=DBHelper.ExecSql(SQL);}if(iRet){Response.Write("<script>alert('恭喜您,操作成功!');document.location=document.location;</script>");}else{Response.Write("<script>alert('对不起,操作失败!');document.location=document.location;</script>");}}protectedvoidButton2_Click(objectsender,EventArgse){this.TextBox1.Text="";}}为什么一上传就提示对不起,操作失败!

解决方案

解决方案二:
打个断点调调,看看上去没!
解决方案三:
引用1楼u013053259的回复:

打个断点调调,看看上去没!

要在哪里打断点?
解决方案四:
if(UploadFile.Value!=null&&UploadFile.Value!="")//就到这打一个吧{FileUpLoad();}
解决方案五:
引用3楼u013053259的回复:

if(UploadFile.Value!=null&&UploadFile.Value!="")//就到这打一个吧{FileUpLoad();}

还是不行啊
解决方案六:
protectedvoidButton1_Click(objectsender,EventArgse){if(UploadFile.Value!=null&&UploadFile.Value!="")//这里打断点,然后F10追踪{FileUpLoad();}
解决方案七:
if(Request["ID"]!=null){先在这里打断点,看到底走进insert里了还是update里了,再看到底哪里出的问题顺便看看this.TextBox1.Text和fname都是什么报操作失败只不过是报数据库操作失败FileUpLoad();这个函数根本没有返回值,它到底执行成功还是执行不成功都跟你后面弹出信息没有一毛钱关系
解决方案八:
iRet=DBHelper.ExecSql(SQL);走到这里之后,断点跟进去看,看到底报什么错误,导致iRet是false话说,这里不是应该返回受影响的函数吗,为什么返回的是个bool值??严重怀疑你胡乱封装的数据库操作类有很大问题
解决方案九:
返回受影响的函数->返回受影响的行数
解决方案十:
引用5楼starfd的回复:

protectedvoidButton1_Click(objectsender,EventArgse){if(UploadFile.Value!=null&&UploadFile.Value!="")//这里打断点,然后F10追踪{FileUpLoad();}

解决方案十一:
引用4楼u012739423的回复:

Quote: 引用3楼u013053259的回复:
if(UploadFile.Value!=null&&UploadFile.Value!="")//就到这打一个吧{FileUpLoad();}

还是不行啊

你打个断点看下数据看问题出在哪?
解决方案十二:
if(UploadFile.Value!=null&&UploadFile.Value!=""){FileUpLoad();}还有,你只判断了不为空就执行上传为空呢,为空,不上传,却还执行写入数据库的代码???这是什么坑爹的逻辑
解决方案十三:
引用11楼Z65443344的回复:

if(UploadFile.Value!=null&&UploadFile.Value!=""){FileUpLoad();}还有,你只判断了不为空就执行上传为空呢,为空,不上传,却还执行写入数据库的代码???这是什么坑爹的逻辑

我简直就是菜鸟快帮帮我大神
解决方案十四:
把后面操作数据库的代码都写到if里去else里写Response.Write("<script>alert('请选择上传文件!');document.location=document.location;</script>");

时间: 2024-10-30 07:43:55

ASP.NET中的文件上传问题的相关文章

asp.net中的文件上传控件能否打开一个固定文件夹然后再选择文件

问题描述 asp.net中的文件上传控件能否打开一个固定文件夹然后再选择文件asp.net中的文件上传控件能否打开一个固定文件夹然后再选择文件我现在要上传文件,但是在点击浏览的时候我想要打开一个指定的目录,然后在这个目录中选择文件..用什么方法能够实现呢?请各位大侠帮忙呀!!!!!!!!!??????????????????????????谢谢各位!!!!!!!! 解决方案 解决方案二:属于客户端程序,安全考虑的话怕不可行解决方案三:可以,将所选目录文件列出就行了,用常用的IO操作就能实现CSD

asp.net中fileupload文件上传及路径问题

用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:MyFilestest.txt)来指定要上载的文件.用户也可以通过单击"浏览"按钮,然后在"选择文件"对话框中定位文件来选择文件. 用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器.您必须显式提供一个控件或机制,使用户能提交指定的文件.例如,可以提供一个按钮,用户单击它即可上载文件.为保存指定文件所写的代码应调用 SaveAs 方法,该方法将文件内容保存到服务器上的指定路

ASP.NET中FileUpload文件上传控件应用实例_基础应用

使用 FileUpload 控件,可以为用户提供一种将文件从用户的计算机发送到服务器的方法.该控件在允许用户上载图片.文本文件或其他文件时很有用.要上载的文件将在回发期间作为浏览器请求的一部分提交给服务器.在文件上载完毕后,您可以用代码管理该文件. 大致了解了一下FileUpload,让我们来看一下FileUpload几个实际应用中问题的处理方法. 1.一次上传多个文件 要一次上传多个文件,我们可以像传单个文件那样对每个文件单独进行处理,除此之外,我们还可以使用HttpFileCollectio

asp.net中uploadify文件上传组件的使用

这个控件有很多参数控制,以及事件的处理响应,相对来说也比较好用.参数控制可以控制上传文件多选.文件类型.文件大小.文件数量.检查文件是否存在,以及一些按钮参数的控制,如文字.高度.宽度等,对提交文件成功与否.完成操作.取消.停止上传等等都有控制,他们的帮助文档也写得比较完善,不过就是各个版本的方法参数完全不同了,但控件是一个好控件. 控件的使用首先要加入必备的脚本类库,由于该控件是利用了Jquery的功能,因此还需要应用Jquery脚本文件,如下所示. jquery-1.8.0.min.js"

ASP.NET中的文件上传相关问题

问题描述 这是我们的一个毕业设计来着,里面由于遇到一些问题,用到三层架构.所以请教高人,在线的话联系我的QQ:438013347.望高人指点.我也可以把我的项目发给你们参考.麻烦了 解决方案 解决方案二:到底是啥问题啊解决方案三:不如直接上你的问题解决方案四:直接上问题解决方案五:上传不管是单文件的,多文件的,还是无线数据量的,网上的资料有很多解决方案六:该回复于2011-12-20 10:01:36被版主删除

ASP中实现文件上传方法的研究

上传 摘要:在基于浏览器/服务器的应用环境中,在浏览器中上传各种类型的文件一直是困扰用户文件管理应用的难题之一.在HTTP中上传文件有三种机制:RFC1867,PUT和WebDAV.常用的实现方法是利用在RFC1867中引入的一个新类型:File以及ADO Stream对象.本文对上述上传方法及实现原理作了论述,并给出了具体解决实例. 关键词:ASP 组件 FILE对象 当前,基于浏览器/服务器模式的应用比较流行.当用户需要将文件传输到服务器上时,常用方法之一是运行FTP服务器并将每个用户的FT

如何在Web页面中集成文件上传功能

当前,个人主页制作非常流行.当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录.由于Windows NT 和 Windows98均不提供直接的基于窗口形式的FTP客户程序,用户必须懂得如何使用基于命令行的FTP客户,或掌握一种新的基于窗口形式的FTP客户程序.因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行的. 如果我们能把文件上传功

在webclass中使用文件上传功能

web|上传 在webclass中使用文件上传功能 webclass实例:http://www.shinco.com/jjx/wcnews/news.asp许多文件上传组件并不能在vb中正常使用,我测试了chinaasp fileup,aspSmartupload,aspupload enterprise,inotesupload等组件,均不能正常使用.其主要原因,是因为在vb中没有促发组件的OnStartPage过程.我们无法改写这些组件,所以要自己编码来解决这个问题,记得以前有网友谈过这个问

ASP.NET MVC5实现文件上传与地址变化处理(5)_实用技巧

一.上传文件和重复文件处理文件处理的原则是:不在数据库中保存文件,只在数据库中保存文件信息(Hash值等).采取文件的MD5重命名文件在一般情况足够处理文件的重复问题,强迫症倾向则可以考虑将MD5和其他摘要算法结合. public static string Save(HttpPostedFileBase file, string path) { var root = "~/Upload/" + path + "/"; var phicyPath = Hosting