1>今天一个朋友提出一个问题:
为什么在用file控件读取图片、文档、等文件路径的时候没错误,而在读取视频文件(如rmvb等)出现该页无法显示错误。
其代码片段如下:
private void btnupfiles_click(object sender, system.eventargs e)
{
string pathname=this.file1.postedfile.filename.tostring();
response.write(pathname);
}
2>着手解决问题:
我以为是取路径字符串的问题,所以就先截取路径和文件名,再截取文件的后缀名,分别保存为字符串,但是始终有错。其代码片段如下:
string fullname=this.file1.postedfile.filename.tostring();//取全路径
string firstname=fullname.substring(0,fullname.lastindexof(".")+1);//取路径和文件名,去掉文件的后缀名
session["firstname"]=firstname;//保存在一个session中
char [] spliter={'.'};//用来分割字符串的分割符
string [] filename=this.file1.postedfile.filename.split(spliter);//把全路径分割后的每一部分保存在数组中
session["lastname"]=filename[filename.length-1];//把数组中的最后一个元素(即后缀名)保存为一个session
response.redirect("test.aspx");//我想传到这个页面测试。
以上方法依然出错,错误原因好象根本与字符串无关。
3>网友“@@”提示是httpruntime问题(谢谢他):
问题解决方法:在web.config中的<system.web></system.web>内加入如下代码:
<httpruntime executiontimeout="600" maxrequestlength="951200"
usefullyqualifiedredirecturl="true" minfreethreads="8"
minlocalrequestfreethreads="4" apprequestqueuelimit="100" enableversionheader="true"/>
4>来自msdn解释:
httpruntime是配置asp.net http运行时设置,以确定如何处理对asp.net应用程序的请求。
executiontimeout:表示允许执行请求的最大时间限制,单位为秒
maxrequestlength:指示 asp.net 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 kb 为单位。默认值为 4096 kb (4 mb)。
usefullyqualifiedredirecturl:表示指示客户端重定向是否是完全限定的(采用 "http://server/path" 格式,这是某些移动控件所必需的),或者指示是否代之以将相对重定向发送到客户端。如果为 true,则所有不是完全限定的重定向都将自动转换为完全限定的格式。false 是默认选项。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器