0

C# で Web アプリケーションを操作しているときに、読み取り専用属性をファイルから削除する方法。このコードを使用することで、Windowsアプリケーションでこれを行うことができます。

FileInfo file = new FileInfo(@"D:\Test\Sample.zip");
if ((file.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
    file.IsReadOnly = false;
}

Web アプリケーションで試したのと同じコードですが、読み取り専用プロパティは削除されません。同じ問題を解決するのを手伝ってください。

4

2 に答える 2

0

次の例は、ファイルに Archive 属性と Hidden 属性を適用することによる GetAttributes メソッドと SetAttributes メソッドを示しています。

http://msdn.microsoft.com/en-us/library/system.io.file.setattributes.aspxから

 using System;
 using System.IO;
 using System.Text;

class Test 
{
public static void Main() 
{
    string path = @"c:\temp\MyTest.txt";

    // Create the file if it exists. 
    if (!File.Exists(path)) 
    {
        File.Create(path);
    }

    FileAttributes attributes = File.GetAttributes(path);

    if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
    {
        // Show the file.
        attributes = RemoveAttribute(attributes, FileAttributes.Hidden);
        File.SetAttributes(path, attributes);
        Console.WriteLine("The {0} file is no longer hidden.", path);
    } 
    else 
    {
        // Hide the file.
        File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
        Console.WriteLine("The {0} file is now hidden.", path);
    }
}

private static FileAttributes RemoveAttribute(FileAttributes attributes, FileAttributes attributesToRemove)
{
    return attributes & ~attributesToRemove;
}
}

さらにサポートが必要な場合はお知らせください。

編集

また、ネットワーク サービスと IUSR が Web アプリにアクセスできることを確認してください。

于 2013-06-12T07:23:51.727 に答える