我可以在一些沙盒上做文件上傳WebPart
Sharepoint
在線,如果可以,我該怎麼辦?Sharepoint在線上傳文件形式
我已經搜索了很多,發現只有解決方案,可用於外部客戶端的客戶端對象模型,沒有示例如何使用JSOM(用於Javascript的客戶端對象模型)以及通常的方式來上傳asp:FileUpload
don' t工作在沙盒解決方案,PostedFile長度= 0
我可以在一些沙盒上做文件上傳WebPart
Sharepoint
在線,如果可以,我該怎麼辦?Sharepoint在線上傳文件形式
我已經搜索了很多,發現只有解決方案,可用於外部客戶端的客戶端對象模型,沒有示例如何使用JSOM(用於Javascript的客戶端對象模型)以及通常的方式來上傳asp:FileUpload
don' t工作在沙盒解決方案,PostedFile長度= 0
一些搜索後,我終於找到了解決方案,基於Codeplex上的SPServices。有插件SPWidgets(https://github.com/purtuga/SPWidgets/)。這個插件加載具有upload.asmx的iframe(SharePoint的默認上載形式),則設置顯示:沒有此頁面上的所有元素,exept輸入[類型=文件]和增加按鈕,至極可以iframe中提交的形式。提交後插件漁獲iframe的狀態(_onIFramePageChange事件),並做一些回調依賴於iframe網址。
這看起來像一些醜陋的解決方法,但它只是工作解決方案,我發現幾小時的搜索。
沒有太多的選擇,但檢查CodePlex上的SPServices - 這將是最好的開始。請記住 - SharePoint在調用服務時需要一個二進制對象。您必須先捕獲文件並將其轉換爲二進制文件,然後調用Web服務進行上傳。
我有一個例子,但沒有在當前位置與我 - 如果上述不讓你開始,讓我知道,我會找到併發布。
大衛·斯特林
您可以選擇使用ActiveX STSUpld.UploadCtl控件 - 這使您可以像在文檔庫中看到的那樣提供多文件上載。
請注意,在以下內容中必須設置確認URL(上傳完成後要去哪裏)並且必須將目標設置爲現有文檔庫。
<script type="text/jscript">
function DocumentUpload() {
var uploadCtl = document.getElementById("idUploadCtl");
uploadCtl.MultipleUpload();
}
</script>
<input type='hidden' name='Confirmation-URL' id='Confirmation-URL' value='' />
<input type='hidden' name='PostURL' id='PostURL' value='' />
<input type="hidden" name="Cmd" value="Save" />
<input type="hidden" name="putopts" value="true" /> <!-- Overwrite files -->
<input type="hidden" name="VTI-GROUP" value="0" />
<input type="hidden" name="destination" id="destination" value="/TestDL" /> <!-- Files destination path, must already exist -->
<p style="margin-left:auto;margin-right:auto;margin-top:0px;margin-bottom:0px;text-align:center;padding:0px !important; vertical-align:top;width:100%;">
<script type="text/javascript">
try {
if (new ActiveXObject("STSUpld.UploadCtl"))
document.write("<OBJECT id=\"idUploadCtl\" name=\"idUploadCtl\" CLASSID=\"CLSID:07B06095-5687-4d13-9E32-12B4259C9813\" WIDTH=\"600px\" HEIGHT=\"250px\" ></OBJECT>");
}
catch (error) {
}
</script>
<asp:Button runat="server" accesskey="O" id="OKButton" CssClass="ms-ButtonHeightWidth" OnPropertyChange="if (this.value != 'Upload files') this.click();" Text="Upload files" UseSubmitBehavior="False" OnClientClick="DocumentUpload(); return false;" />
<asp:Button runat="server" accesskey="C" id="CancelButton" CssClass="ms-ButtonHeightWidth" Text="Cancel" UseSubmitBehavior="False" OnClientClick="window.location ='<somewhere to go>'; return false;" />
希望這有助於....
對不起長響應:(我已經挖成方向,唯一的解決辦法,我發現是獲得與SharePoint的上傳頁面中的iframe和使用它,但它是,恕我直言,醜陋的解決方案,所以你的例子可以真正幫助我! – GrigTheFirst