`

上传文件的时候报被拒绝访问或报未知标识错误的解决方案

阅读更多

1.首先你要给你要操作的文件赋予权限  方法如下

 //添加权限
        public void addpathPower(string pathname, string username, string power)
        {

            DirectoryInfo dirinfo = new DirectoryInfo(pathname);

            if ((dirinfo.Attributes & FileAttributes.ReadOnly) != 0)
            {
                dirinfo.Attributes = FileAttributes.Normal;
            }

            //取得访问控制列表
            DirectorySecurity dirsecurity = dirinfo.GetAccessControl();

            switch (power)
            {
                case "FullControl":
                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));
                    break;
                case "ReadOnly":
                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Read, AccessControlType.Allow));
                    break;
                case "Write":
                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Write, AccessControlType.Allow));
                    break;
                case "Modify":
                    dirsecurity.AddAccessRule(new FileSystemAccessRule(username, FileSystemRights.Modify, AccessControlType.Allow));
                    break;
            }
        }

 

调用 如下 (要放在你操作文件的前面)

addpathPower(Server.MapPath("~/PUBLIC/ImageForDT/QT/aboutbox.gif"), "EveryOne", "FullControl");

解释下参数,第一个是路径,第二个是用户(有EveryOne,AspNet,administrator……),第三个是你要设什么权限

  

到这步的时候你可能还会报错,因为你只设置了文件权限和操作者,但是文件夹你没添加安全用户,所以第二步了,

第二。 你选择你要操作的文件所在顶级目录(或者上级目录),右键属性,选择安全,点击编辑,然后添加添加,添加用户呢是你刚才第一步调用方法那的第二个参数用户名字. 如果你选的用户还是报错呢,你就进iis里查看一个用户 是iis模拟用户,好像是名字iis_user ,要看你设置了。 

 

如果你上传的文件每次都是覆盖上一次的 也就是 上传的时候每次都一样的话 最好是获取权限然后删除 然后上传

 如:

if (File.Exists(Server.MapPath("~/PUBLIC/ImageForDT/QT/aboutbox.gif")))
            {
                addpathPower(Server.MapPath("~/PUBLIC/ImageForDT/QT/aboutbox.gif"), "EveryOne", "FullControl");
                File.Delete(Server.MapPath("~/PUBLIC/ImageForDT/QT/aboutbox.gif"));
            }

            lmdhtop.ImageUrl = "";
            string uploadName = FileUploadForlmdh.PostedFile.FileName;//获取待上传图片的完整路径,包括文件名

            string pictureName = "";//上传后的图片名,以当前时间为文件名,确保文件名没有重复
            if (FileUploadForlmdh.PostedFile.FileName != "")
            {

                pictureName = "aboutbox.gif";
            }
            try
            {
                if (uploadName != "")
                {
                    string path = Server.MapPath("~/PUBLIC/ImageForDT/QT/");
                    FileUploadForlmdh.PostedFile.SaveAs(path + pictureName);
                }
                lmdhtop.ImageUrl = "~/PUBLIC/ImageForDT/QT/aboutbox.gif";
            }
            catch (Exception ex)
            {
                Response.Write(ex);
            }

 

基本这样就可以了  希望能帮的到你

 

0
1
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    net use访问共享文件或打印机出现1326错误的解决办法

    ### net use访问共享文件或打印机出现1326错误的解决办法 在IT环境中,当用户尝试通过`net use`命令访问网络上的共享文件夹或打印机时,有时会遇到错误代码1326,提示“登录失败:未知的用户名、错误的密码或未授权...

    解决Win7访问远程共享文件夹提示未知的用户名或密码错误.docx

    #### 解决方案 ##### 步骤一:启用LAN Manager身份验证 1. **打开本地组策略编辑器**:首先,在“开始”菜单中搜索“运行”,或者按下`Win + R`快捷键打开运行对话框。输入`gpedit.msc`命令,回车进入本地组策略...

    HipChat上传文件报未知错误的原因分析及解决方案

    《HipChat上传文件报未知错误的原因分析及解决方案》 HipChat是一款由Atlassian公司推出的团队协作即时通讯工具,它提供类似Campfire、Sazneo的在线协同功能,并且与Yammer和Salesforce的Chatter等企业社交平台具有...

    Mac App Store出现“未知错误”解决方法.docx

    但是,有时候用户可能会遇到“未知错误”的问题,无法下载或更新应用程序。今天,我们将提供两个解决这个问题的方法。 解决方法1:检查 Apple ID 账号 许多用户可能不知道,Mac App Store 和 iTunes 需要使用相同...

    iis500错误解决方案

    当用户尝试访问由IIS托管的页面时,如果遇到500错误,这通常意味着服务器遇到了一个未知的内部错误,无法完成请求。这个错误可能是由于多种原因引起的,包括配置问题、权限错误、应用程序错误等。下面,我们将深入...

    未知或被更改后缀的文件类型识别工具

    然而,有时候我们会遇到一些未知或被更改后缀的文件,这可能导致无法正常打开或处理它们。在这种情况下,"未知或被更改后缀的文件类型识别工具"就能发挥重要作用。 这类工具通过分析文件的二进制内容来判断其实际...

    Win7局域网访问共享时提示“登录失败:未知的用户名或密码错误”.docx

    Win7局域网访问共享时提示“登录失败:未知的用户名或密码错误”.docx

    c# FTP操作类上传、异步上传文件、下载

    - **FileListStyle枚举**:定义了文件列表的样式,包括Unix样式、Windows样式和未知样式。 ### 实现细节 #### 文件上传 文件上传是FTP操作中最常见的需求之一。本类通过`FtpWebRequest`对象设置必要的参数(如...

    coreldraw 登录错误解决方案

    Coreldraw X8默认情况下是需要...但最近大家发现在进行Coreldraw X8登陆时却提示'错误:未知错误'(即使你的账号名和密码正确也是如此),导致Coreldraw X8完全无法使用。今天在CPC论坛看见有网友分享了Coreldraw X8登

    可疑文件上传扫描工具.rar

    标题中的“可疑文件上传扫描工具.rar”表明这是一个用于检测可疑文件安全性的工具,可能是通过将文件上传到一个平台,然后利用多种在线查毒引擎进行扫描。这个工具可能旨在帮助用户快速判断未知或潜在恶意的文件是否...

    itunes发生未知错误 50解决方法介绍.docx

    iTunes未知错误50解决方法介绍 iTunes是Apple公司开发的一款多媒体管理软件,能够帮助用户管理苹果设备上的音乐、视频、图片等多媒体文件。然而,在使用iTunes过程中,许多用户会遇到“iTunes发生未知错误50”问题...

    squid文件上传大小配置

    合理地配置文件上传大小不仅能够确保用户体验,还能够避免因文件过大导致的资源浪费或系统负载过高的问题。 #### 四、关键配置项解析 ##### 1. `request_body_max_size` `request_body_max_size` 是 squid 中用来...

    将系统中文件的图标恢复为未知文件格式.docx

    当用户错误地设置了文件的打开方式,将其关联到不正确的程序时,不仅会导致文件无法正常打开,还可能导致所有此类文件的图标变为该错误程序的图标。要将文件图标恢复为未知文件格式,即恢复到Windows无法识别的原始...

    Delphi中ADOQuery使用了lookup字段后出现未知错误解决办法

    ### Delphi中ADOQuery使用了lookup字段后出现未知错误解决办法 在Delphi开发环境中,使用ADOQuery组件处理数据库查询时,经常会遇到一些常见的问题,尤其是涉及到lookup字段时。lookup字段通常用于显示一个表中的...

    vb程序提示未知错误

    当运行vb 提示未知错误关闭,提出了解决方法,让编译顺利进行。

    jsp的多个文件上传下载

    这表明 `Upload` 对象可以被序列化,便于在网络间传输或持久化存储。 #### 方法说明 - **`upLoad(HttpServletRequest request)`**:此方法用于处理文件上传请求。`HttpServletRequest` 对象包含了客户端发送的所有...

    HTTP500内部错误解决办法

    当用户尝试访问网页时,如果返回500错误,这意味着服务器无法正常提供服务,可能是由于服务器过载、应用程序错误、服务器配置问题或脚本问题等。 **解决HTTP500内部错误的步骤:** 1. **检查服务器日志**:首先,...

    IIS 服务器下载apk文件报404错误的解决方法

    解决IIS服务器下载APK文件报404错误的方法如下: 1. 打开IIS管理器:在Windows服务器上,通过运行命令“inetmgr”或者从“控制面板”的“管理工具”中找到IIS管理器并打开。 2. 在IIS管理器的连接树中,找到需要...

    计算机病毒与防护:文件上传漏洞原理.ppt

    此外,还可以将上传的文件存储在一个不可执行的目录,或者改变文件扩展名,使其无法被服务器直接执行。最后,利用服务器端的防火墙规则和入侵检测系统来监控异常的文件活动。 总的来说,理解文件上传漏洞的原理对于...

Global site tag (gtag.js) - Google Analytics