我正在尝试使用 C# 的 FileWebRequest 在文件共享上创建一个新目录并将新文件上传到该目录。有谁知道这是否可能?
如果新文件直接位于文件共享中,我可以成功上传新文件,但是当我尝试将其上传到新目录中时,出现异常。
例如,将newfile.txt上传到此位置可以正常工作: \\servername\sharename\newfile.txt
但是如果我尝试将它上传到这个位置:\\servername\sharename\ newfolder \newfile.txt'。
...然后我得到一个异常:找不到路径的一部分 \\servername\sharename\newfolder\newfile.txt'。
背景:
我有一个需要生成文件并将其复制到文件共享的 Web 服务。出于安全原因,Web 服务会模拟发起生成请求的特定用户,并且它需要使用这些(委托的)模拟身份将文件复制到共享中。
显然,将模拟用户身份从 Web 服务委托给文件系统并不能按原样工作,因此,我尝试使用 FileWebRequest 使用共享的 URI 上传文件,因此我可以使用 AuthenticationManager .CustomTargetNameDictionary 注册文件服务器的 SPN 以便实现委托。
编辑:我目前正在使用 FileWebRequest 上传文件,因此:
var uploadRequest = (FileWebRequest)WebRequest.Create(@"file://servername/sharename/newfolder/newfile.txt");
//...snip
using (var outputStream = uploadRequest.GetRequestStream())
{
outputStream.Write(buffer, 0, buffer.Length);
}