我有一个 Web 表单,可以将一些输入的数据作为一个新的列表项上传到 SharePoint 列表,效果很好。我试图添加一个新代码来通过两个单独的<asp:FileUpload>控件上传两个文件。以下代码protected void sendToSharePoint() {}无法将任何一个文件上传到指定的 SharePoint 文档库,更不用说两者了:
默认.aspx:
//Existing code
<asp:FileUpload ID="upldGradeReport" runat="server" />
<asp:FileUpload ID="upldExpenseReceipt" runat="server" />
<asp:Button ID="btnSubmitForm" OnClick="SubmitButton_Click" runat="server" Text="Submit" />
默认.aspx.cs:
using System;
using System.DirectoryServices;
using System.IO;
using System.Security;
using System.Web.UI;
using Microsoft.SharePoint.Client;
using ClientOM = Microsoft.SharePoint.Client;
//I left out the NameSpace and default public partial class wrapper, but they're here.
public ClientContext SPClientContext { get; set; }
public string SPErrorMsg { get; set; }
protected void SubmitButton_Click(object sender, EventArgs e) {
sendToSharePoint();
Response.BufferOutput = true;
Response.Redirect("Submission.aspx");
}
protected void sendToSharePoint() {
try {
string siteUrl = "<sharepoint site url>";
ClientContext clientContext = new ClientContext(siteUrl);
clientContext.Credentials = new SharePointOnlineCredentials("<my username>", "<my password>");
string sDocName = string.Empty;
string sDocName1 = string.Empty;
Uri uri = new Uri(siteUrl);
string sSPSiteRelativeURL = uri.AbsolutePath;
sDocName = UploadFile(upldGradeReport.FileContent, upldGradeReport.FileName, sSPSiteRelativeURL, "<sharepoint document library>");
sDocName1 = UploadFile(upldExpenseReceipt.FileContent, upldExpenseReceipt.FileName, sSPSiteRelativeURL, "<sharepoint document library>");
//prior CSOM code to insert values into a new List Item exists here
clientContext.ExecuteQuery();
} catch (Exception ex) {
String ThisError = ex.Message;
}
}
创建新 ListItem 并将表单的其余输入数据上传到单独的 SharePoint 列表的代码在提交时仍然有效,我已经确认凭据正确并且正在使用的帐户有权将文件上传到文档图书馆。
我究竟做错了什么?
森栏
相关分类