网站模板库
  • 首页
  • web前端工具
    • HTML/JS转换工具
    • JS/HTML格式化工具
    • 字母/英文大小写转换工具
    • robots.txt文件生成工具
    • Js压缩/格式化工具
    • Css在线压缩工具_代码格式化
  • 关于我们
    • 免责声明
    • 联系我们
    • 广告服务
    • 服务项目
    • 关于我们
    • 网站轮播
    • 公告
    • 成都优优科技专用
    • 按行业分类
  • web学院
    • 服务器教程
    • 学习资料
      • 基础书籍
      • 交互书籍
      • 入门教程
      • 特效分类
    • 案例分享
    • web资讯
  • 网页特效
    • 图片特效
    • 导航特效
    • 滑动按钮
    • 表单特效
    • 文字特效
    • 弹窗特效
    • 其他特效
  • 织梦模板
    • 科技/电子/数码/通信
    • 文化/艺术/广告/传媒
    • 装修/设计/家居/家具
    • 基建/施工/地产/物业
    • 餐饮/酒店/旅游/票务
    • 食品/果蔬/饮料/日用
    • 服饰/珠宝/礼品/玩具
    • 摄影/婚庆/家政/生活
    • 运动/健身/体育/器材
    • 学校/教育/培训/科研
    • 美容/保健/医院/医疗
    • 金融/财税/咨询/法律
    • 政府/组织/集团/协会
    • 汽车/物流/交通/搬运
    • 机械/设备/制造/仪器
    • 化工/环保/能源/材料
    • 农业/畜牧/养殖/宠物
    • 其他模版
    • IT/软件/信息/互联网
  • 手机模板
    • 手机APP模板
    • 微信小程序模板
    • wap
  • 网站模板
    • joomla模板
    • Drupal模板
    • z-blog模板
    • EyouCms模板
    • Bootstrap模板
    • 帝国cms模板
    • CmsEasy模板
    • MetInfo模板
    • 购物商城模板
      • Shopify主题
      • PrestaShop主题
    • 后台模板
    • 纯HTML模板
    • ecshop模板
    • phpwind模板
    • pbootcms模板
    • phpcms模板
    • wordpress模板
    • discuz模板
  • 教程
    • 织梦教程
    • Discuz教程
    • WordPress教程
    • Phpcms教程
    • Phpwind教程
    • ECShop教程
    • Joomla教程
    • Drupal教程
    • zblog教程
    • EyouCMS教程
    • 帝国cms教程
    • MetInfo教程
    • CmsEasy教程
登录
当前位置:网站模板库 > web学院 > 服务器教程 > ASP.NET上传服务器出错
商业源码 服务器教程 2024-02-03 8:01:01

ASP.NET上传服务器出错

ASP.NET上传服务器出错,第1张

出错提示: 在应用程序级别之外使用注册为 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>;

试了几个方法:

将fileupload中的文件保存到服务器端的一个临时文件夹,在服务器端运行一个程序将ajpg转换为bgif。这时的c:\bgif在服务器上,可以直接运行更改代码改变存盘的路径和文件名。

dim strHtmlFileName as string =ServerMapPath("/images/sohugif")

dim proc as SystemDiagnosticsProcess = new SystemDiagnosticsProcess()

procEnableRaisingEvents = false

dim strwvWareDirectory as string = ServerMapPath("/")

procStartInfoFileName = strwvWareDirectory + "gif2swfexe"

procStartInfoArguments = strHtmlFileName

procStartInfoCreateNoWindow = true

procStart()

procWaitForExit()

使用调用,远程上传,上传至远程,如果你有两台服务器,一台是网站所在的服务器,另外一台是储存文件的提供下载或展示的网站,源码,用网盘源码或者类似DZ论坛都有提供上传至远程服务器,asp源码有很多CMS都支持远程附件上传,还有很多网盘都提供接口。

希望是我理解的这样。如果不是请追问

#region 文件上传(普通上传不生成文件夹)

/// <summary>

/// 文件上传(普通上传不生成文件夹)

/// </summary>

/// <param name="hifile">上传控件</param>

/// <param name="strAbsolutePath">绝对路径</param>

/// <param name="TYPE">文件类型(在WebConfig中配置)</param>

/// <param name="FileSize">文件大小单位:Mb(在WebConfig中配置)</param>

/// <returns></returns>

public string SaveFile(HtmlInputFile hifile, string strAbsolutePath, string TYPE, string FileSize)

{

bool filetype = false;

string /文件的完整路径/strOldFilePath = "", /文件类型/strExtension = "", /新文件名称/strNewFileName = "";

//如果上传文件的文件名不为空

if (hifilePostedFileFileName != stringEmpty)

{

strOldFilePath = hifilePostedFileFileName;//文件的完整路径

Path = strAbsolutePath;//服务器路径

//取得上传文件的扩展名

strExtension = strOldFilePathSubstring(strOldFilePathLastIndexOf("") + 1);

file_type = strExtension;

//文件大小单位Mb

double sizes = hifilePostedFileContentLength / (double)10240 / (double)10240;//文件大小

thisfile_size = sizesToString("f4");//文件大小单位Mb精确到小数点后4位

//文件格式

string[] types = TYPESplit('|');//文件格式集合

for (int i = 0; i < typesLength; i++)

{

if (types[i]ToString()Trim()ToLower() == strExtensionTrim()ToLower())

{ filetype = true; break; }

else { filetype = false; }

}

if (filetype)//判断文件类型是否错误

{

if (sizes < ConvertToDouble(FileSize))

{

//文件上传后的命名

strNewFileName = GetUniqueString() + "" + strExtension;

file_name = strNewFileName;

if (!DirectoryExists(strAbsolutePath))//文件的完整路径

{

DirectoryCreateDirectory(strAbsolutePath);//按月份创建文件夹

}

hifilePostedFileSaveAs(strAbsolutePath + strNewFileName);//保存文件

return "文件上传成功!" + file_name;

}

else

{ return "文件大小不能超过" + FileSize + "00Mb!"; }

}

else

{ return "文件格式错误!"; }

}

else

{ return "请选择要上传的文件!"; }

}

1、服务器安装IIS

2、安装framework

3、注册ASPNET到IIS 如果是framework20的话

\WINDOWS\MicrosoftNET\Framework\v2050727\aspnet_regiisexe -r

4、把你的程序拷到服务器上,并创建虚拟目录

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

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>" );

}

}

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

文件 应用程序 虚拟目录 上传 文件大小
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ASP.NET上传服务器出错

商业源码 钻石

分享到:
上一篇
三星手机安卓系统,登陆微信提示无法连接到服务器(1,-1)
下一篇
请问Razer刺鳞树蝰无线鼠标怎样 Razer刺鳞树蝰无线鼠标介绍

相关推荐

Linux下的Web服务器。如何提高安全,防止为了保证安全性,受到攻击?

Linux下的Web服务器。如何提高安全,防止为了保证安全性,受到攻击?

如何设置HTTP代理

如何设置HTTP代理

windows2008系统怎么查看ftp服务器

windows2008系统怎么查看ftp服务器

CPU : intel xeon 服务器拆下来的CPU 看不懂

CPU : intel xeon 服务器拆下来的CPU 看不懂

0条评论

发表评论 取消回复

要发表评论,您必须先登录。

提供最优质的资源集合

立即查看 了解详情
网站模板库

主题/付费下载/查看/余额管理/自定义积分,集成支付,卡密,推广奖励等。

本站导航
  • 链接标题
友情链接
  • 链接标题
快速搜索
本站由钛宇宙强力驱动
友情链接:
    商业源码网蜀ICP备2023005044号
    网站模板库
    • 登录
    • 注册
    网站模板库
    • 首页
    • web前端工具►
      • HTML/JS转换工具
      • JS/HTML格式化工具
      • 字母/英文大小写转换工具
      • robots.txt文件生成工具
      • Js压缩/格式化工具
      • Css在线压缩工具_代码格式化
    • 关于我们►
      • 免责声明
      • 联系我们
      • 广告服务
      • 服务项目
      • 关于我们
      • 网站轮播
      • 公告
      • 成都优优科技专用
      • 按行业分类
    • web学院►
      • 服务器教程
      • 学习资料►
        • 基础书籍
        • 交互书籍
        • 入门教程
        • 特效分类
      • 案例分享
      • web资讯
    • 网页特效►
      • 图片特效
      • 导航特效
      • 滑动按钮
      • 表单特效
      • 文字特效
      • 弹窗特效
      • 其他特效
    • 织梦模板►
      • 科技/电子/数码/通信
      • 文化/艺术/广告/传媒
      • 装修/设计/家居/家具
      • 基建/施工/地产/物业
      • 餐饮/酒店/旅游/票务
      • 食品/果蔬/饮料/日用
      • 服饰/珠宝/礼品/玩具
      • 摄影/婚庆/家政/生活
      • 运动/健身/体育/器材
      • 学校/教育/培训/科研
      • 美容/保健/医院/医疗
      • 金融/财税/咨询/法律
      • 政府/组织/集团/协会
      • 汽车/物流/交通/搬运
      • 机械/设备/制造/仪器
      • 化工/环保/能源/材料
      • 农业/畜牧/养殖/宠物
      • 其他模版
      • IT/软件/信息/互联网
    • 手机模板►
      • 手机APP模板
      • 微信小程序模板
      • wap
    • 网站模板►
      • joomla模板
      • Drupal模板
      • z-blog模板
      • EyouCms模板
      • Bootstrap模板
      • 帝国cms模板
      • CmsEasy模板
      • MetInfo模板
      • 购物商城模板►
        • Shopify主题
        • PrestaShop主题
      • 后台模板
      • 纯HTML模板
      • ecshop模板
      • phpwind模板
      • pbootcms模板
      • phpcms模板
      • wordpress模板
      • discuz模板
    • 教程►
      • 织梦教程
      • Discuz教程
      • WordPress教程
      • Phpcms教程
      • Phpwind教程
      • ECShop教程
      • Joomla教程
      • Drupal教程
      • zblog教程
      • EyouCMS教程
      • 帝国cms教程
      • MetInfo教程
      • CmsEasy教程

      弹窗标题

      这是一条网站公告,可在后台开启或关闭,可自定义背景颜色,标题,内容,用户首次打开关闭后不再重复弹出,此处可使用html标签...