作为一名没有经验的开发人员,我不知道这个问题是否正确(我确实检查了互联网,但我找不到适用于我的解决方案,这就是我在这里注册的原因)。我正在尝试创建一个表单,用户可以上传文件以附加到其表单(在SharePoint 2013中),我使用以下code作为示例。我们的想法是临时接受文件并将其显示给用户,并在提交表单时将其上传到文档库。 然而,在我的代码中,这导致“拒绝访问”,当我调试它时,我的代码的下列部分似乎导致了问题:
public void BtnAttachmentUpload_Click(object sender, EventArgs e)
{
fileName = System.IO.Path.GetFileName(FileUpload.PostedFile.FileName);
if (fileName != "")
{
string _fileTime = DateTime.Now.ToFileTime().ToString();
string _fileorgPath = System.IO.Path.GetFullPath(FileUpload.PostedFile.FileName);
string _newfilePath = _fileTime + "~" + fileName;
length = (FileUpload.PostedFile.InputStream.Length) / 1024;
string tempFolder = Environment.GetEnvironmentVariable("TEMP");
string _filepath = tempFolder + "\\" + _newfilePath;
FileUpload.PostedFile.SaveAs(_filepath);
AddRow(fileName, _filepath, DocNo, true);
DocNo = DocNo + 1;
Label.Text = "Successfully added in list";
}
}
第一部分的最后一行(FileUpload.PostedFile.SaveAs(_filepath);
)是出现以下错误的地方:
“System.UnauthorizedAccessException:'访问路径 'C:\用户\ Spapps \应用程序数据\本地\ TEMP \ 131613662837501509〜testdoc2.pdf' 被拒绝。' “
这是一个已知问题,是否有解决方案可以帮助我?
答案 0 :(得分:0)
尝试使用spsecurity.runwithelevatedprivileges
答案 1 :(得分:0)
我一直在寻找关闭这个问题,但没有找到如何在这里作为答案说出来。我还没有找到解决方案,但我通过改变方法在我的项目中解决了这个问题;我暂不上传和显示文件了。如果取消该过程,则会从doclib中删除它们。