从temp文件夹到SPDocumentLibrary

时间:2018-01-25 16:07:20

标签: c# sharepoint-2013 access-denied multifile-uploader

作为一名没有经验的开发人员,我不知道这个问题是否正确(我确实检查了互联网,但我找不到适用于我的解决方案,这就是我在这里注册的原因)。我正在尝试创建一个表单,用户可以上传文件以附加到其表单(在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'   被拒绝。' “

这是一个已知问题,是否有解决方案可以帮助我?

2 个答案:

答案 0 :(得分:0)

尝试使用spsecurity.runwithelevatedprivileges

答案 1 :(得分:0)

我一直在寻找关闭这个问题,但没有找到如何在这里作为答案说出来。我还没有找到解决方案,但我通过改变方法在我的项目中解决了这个问题;我暂不上传和显示文件了。如果取消该过程,则会从doclib中删除它们。