asp.net 图片上传服务器问题

asp.net 图片上传服务器问题,第1张

你应该说明一下,发生了什么错误

FileInfo file = new FileInfo( name ); 这个错误是严重的,

这个服务器可没有这个file,

fileLength可以改成 FileUpload1PostedFileContentLength

如果你要获取没有路径的文件

你可以string filename = PathGetFileName(sfPostedFileFileName);

如果你要获取文件的扩展名可以

string type = PathGetExtension(sfPostedFileFileName);//带点的

你在本地可以是因为,

FileInfo file = new FileInfo( name ); 这里的name是一个有路径的名字,因此,file为本地上一个文件的句柄(这个name是你在上传框里填写的)

而到了服务器上是根本没有这个name所代表的文件,因此你所有的操作都会失败,因file代表的是一个根本不存在的文件,

因此你应该改成这样

if ( Session["loginname"] != null )

{

string loginname = Session["loginname"]ToString();

int allowlength = 1024 1024 10;//限制文件大小

string filename = PathGetFileName( FileUpload1PostedFileFileName );

if ( FileUpload1HasFile ) // 有上传文件

{

string size = FileUpload1PostedFileContentLengthToString(); //获取已上传文件夹的大小

string type = PathGetExtension( FileUpload1PostedFileFileName ); //得到文件的后缀

string fullpath = ServerMapPath( "~/UserDocument/" + loginname + "/Picture/" );//文件的保存路径

string vsnewname = SystemDateTimeNowToString( "yyyyMMddHHmm_" );//声称文件名,防止重复

path = "UserDocument/" + loginname + "/Picture/" + vsnewname;

if ( FileUpload1PostedFileContentLength < allowlength )

{

if ( type == "bmp" || type == "png" || type == "jpg" || type == "gif" || type == "BMP" || type == "PNG" || type == "JPG" || type == "GIF" )

{

if ( !DirectoryExists( fullpath ) )//判断上传文件夹是否存在,若不存在,则创建

{

//创建文件夹

DirectoryCreateDirectory( fullpath );

FileUpload1PostedFileSaveAs( fullpath + vsnewname + filename );

}

else

{

FileUpload1PostedFileSaveAs( fullpath + vsnewname + filename );

}

}

else

{

PageRegisterStartupScript( "", "<script>alert('上传文件格式错误!');historygo(-1);</script>" );

}

}

else

{

PageRegisterStartupScript( "", "<script>alert('上传文件太大!');historygo(-1);</script>" );

}

}

else

{

PageRegisterStartupScript( "", "<script>alert('请上传文件!');historygo(-1);</script>" );

}

}

分多的话,我不介意你多加些给我

可以这样 在你的本地电脑上 右击IE属性 高级 下拉到最下面 去掉 “显示友好的HTTP错误信息”前的√去掉,然后重新访问一下你的网站程序 但具体提示什么错误信息 ,然后把此信百度一下 基本都能找到解决方法。

或者你先把网站程序从根目录下剪切出来,自己写一下简单的asp文件 然后访问一下此文件,看是否能正常显示。若不能,你打开IIS 看一下IIS服务扩展 看看里面的ASP是否有支持好 。一般是这个问题。

如果确定环境和权限肯定没有问题的话 但问题依旧 可以重装一下IIS试试,可能是IIS没有装好 。

QQ:825942970

你先看看 菜单--工具--Internet选项--高级--显示友好的HTTP错误信息!看看提示什么!

造成500错误常见原因有:ASP语法出错、ACCESS数据库连接语句出错、文件引用与包含路径出错、使用了服务器不支持的组件如FSO等

我觉得你最有可能错的应该是文件引用与包含路径出错!

貌似思路有点问题啊

文件上传到服务器一般就3个途径

在服务器运行ftp服务,用户用ftp客户端上传。

通过网页上传文件到服务器。

把文件上传到邮箱,网盘等第三方服务器。再到服务器登录第三方服务器下载

直接把客户的文件复制到服务器不现实

出错提示: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。

------------

解决方案:在IIS中先建立虚拟目录,如果没有创建为应用程序 在网站对应的虚拟目录上右键,选属性,然后在应用程序名后点创建。如还无法解决,则在IIS中右击WebSite,点“属性”,在“目录”的“应用程序设置”中,点“删除”删除“应用程序名”就可以了。如果在这样以后,还出现:“在应用程序级别之外使用注册为allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。”这样的错误,在Webconfig文件中删除<authentication mode="Windows" />结点就可以了。

若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\MicrosoftNET\work\v2050727\CONFIG\machineconfig中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"

解决的关键是:把你的虚拟目录指向webconfig所在在文件夹,因为 webconfig 的某些配置节只能出现在网站的虚拟目录跟目录中。net 下用使用IIS建立虚拟目录是跟ASP下不同的,一定要指向文件夹的的跟目录

=========================================================================

allowDefinition="MachineToApplication"

想利用以前看到的"使用webconfig设置不同目录下的配置”,来玩一下多个webconfig的继承

问题是首先这样引出来的:

把一些原本放在根目录下的aspx文件,放到AuthFolder中,在其中加一个webconfig,根目录下不再配置<authentication><authorization>;AuthFolder中需要该两项的详细、安全的配置

编译通过,但浏览时提示"未能加载……(某个类)”

紧急搜索了一些论坛,发现对于"未能加载……”的问题几乎没有作出答案,回复不过两种:一,重新生成一下;二,建虚拟目录;三,在AuthFolder中新建页面,然后拷贝代码,而不是直接拷贝页面到AuthFolder中

然后看到的就是,继续的回复里"仍然没有解决……”的抱怨

研究一下

1,webconfig是继承关系,根继承于machinconfig;machinconfig中有一些规定webconfig如何设置的东西,即哪些配置能够在webconfig中配置;

默认的:authentication、sessionState的配置只能发生在:虚拟目录、应用程序中(由machineconfig中allowDefinition="MachineToApplication"来定义)

2,Form验证是否必须将文件夹在IIS中配置成Application?

3,将子目录AuthFolder配置成Application后,里面的页面就会发生"未能加载……”(和搜索的结果相反:我这里是配置为虚拟目录后,才发生此现象??)的问题;不配置,则不能使用webconfig配置AuthFolder目录下的<authentication>;

试了几个方法:

程序出现500错误!

可能的原因:

1、程序本身有语法或者逻辑错误(根据你的描述,大有可能是逻辑错误)

2、程序所需要的相关组件服务器不支持(这个可能性很低)

总结:大有可能是你用数据源方式连接的数据库, 但服务器上没有相关的数据源 )

如果服务器上支持ASP的话,不用安装,直接上传到指定的路径下就可以,如果你的服务器还没有配置IIS,则需要你在服务器上进行IIS配置。添加站点,将目录指定到你上传的目录下也可以单独设置一个目录。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » asp.net 图片上传服务器问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情