我有一个Web服务(.asmx),它将一个图像的字节数组作为参数,并将图像保存在我们的服务器上。它工作得很好,除了事后我不能对文件做任何事情,因为我显然没有权限。
当我在我的代码中使用FileStream将文件保存到我的服务器文件夹时,代码中是否有任何可以设置读/写/执行权限的地方?
**编辑:我们的服务器是Linux服务器
我在我的Windows机器(Visual Studio 2010)上编写了Web服务,并将其打包在MonoDevelop中,以便部署到我们的Linux服务器上。我存储图像的文件夹与我的.asmx文件位于同一文件夹中(在Linux服务器上)。每当我的Web服务将图像存储在该文件夹中时,权限默认为rw -------。我希望他们默认为rwxrwxrwx。
答案 0 :(得分:1)
试试这个
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity fSecurity = File.GetAccessControl(strFilePath1);
// Add the FileSystemAccessRule to the security settings.
fSecurity.AddAccessRule(new FileSystemAccessRule("IUSR_SOMESERVER",FileSystemRights.FullControl,AccessControlType.Allow));
// Set the new access settings.
File.SetAccessControl(strFilePath1, fSecurity);
使代码适应您想要的(用户,文件路径和acl)
答案 1 :(得分:0)
How do you check for permissions to write to a directory or file?
这是一篇文件权限的文章,我希望你可以将它们应用于阅读文件,因为它听起来你没有写它的麻烦,或者你可能无法正确编写它,这就是导致权限被锁定的原因取决于您在服务器上保存的位置。