当前位置: 首页 > 编程语言 > C#

WinSCP.NETAssembly-创建目录后如何设置文件夹权限?分享

时间:2023-04-10 10:44:12 C#

WinSCP.NETassembly-创建目录后如何设置文件夹权限?我正在构建一个网站,我希望当用户注册时,在SFTP服务器上创建一个目录并将一个新文件放入该目录我正在使用WinSCP.NET程序集,并编写C#。我注意到你只能在方法中设置权限:Session.PutFiles而不能在方法中:Session.CreateDirectory创建目录并将文件放入其中后,我无法访问该文件,因为我没有权限-我正在使用完整URL访问此文件我如何访问此文件?附言。当我手动更改目录权限时,我可以访问该文件。请注意,这回答了您关于在创建目录时如何设置权限的问题。但是问题的根本原因是服务器设置的默认权限不对。服务器不应该使用默认权限,这样您就无法访问您刚刚创建的目录/文件!当前无法在创建目录或稍后使用WinSCP.NET程序集修改目录时直接设置权限。见https://winscp.net/tracker/1075你可以破解它如下:stringdirectoryName="mydir";stringdirectoryPath="/home/username/"+directoryName;stringtempPath=Path.Combine(Path.GetTempPath(),directoryName);Directory.CreateDirectory(tempPath);尝试{TransferOptionsoptions=newTransferOptions();options.FilePermissions=newFilePermissions{Octal="755"};session.PutFiles(tempPath,directoryPath,false,options).Check();}最后{Directory.Delete(tempPath);您甚至不必创建一个空的临时目录。只需选择任何目录,例如您的帐户配置文件文件夹的目录,并使用文件掩码仅包含此目录,以防止上传目录和子目录中的文件。还可以在目标路径中使用所需远程目录的显式名称,将上传的目录“重命名”为您想要的任何名称。以上就是C#学习教程:WinSCP.NET程序集-创建目录后如何设置文件夹权限?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: