如何使用默认上传页面将文件的URL上传到SharePoint中的文档库后返回该文件的URL?从upload.aspx页面的“inputFile”文本框中返回文本也可以,但我无法弄清楚如何这样做,因为它是在模态对话框中加载的。
function uploadPicture(){
var currentUserDispName ='myname';
var options = {
url: '/test/_layouts/15/Upload.aspx?List=6c7bc1b3%2D1b7f%2D466b%2Da0f5%2Dac15dc334ff7& RootFolder=/test/mydocs/' + currentUserDispName + "&IsDlg=1",
width: 450,
height: 230,
title: 'Upload a Picture',
dialogReturnValueCallback: function(result, returnValue) {
if (result == SP.UI.DialogResult.OK) {
//get File URL
}
else {
//else
}
}; SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);}
答案 0 :(得分:1)
我最终做的是获取文件名是使用SPquery。我刚刚查询了所有项目,并使用最后修改的字段对它们进行了排序,并将rowlimit设置为1.一旦我这样做,我就可以找到该文件的serverRelative URL。
答案 1 :(得分:1)
您可以在回调函数中使用returnValue.newFileUrl
function OpenModalDialogOrganoAdministracion() {
var options = {
url: 'http://servidor/libreria',
title: 'Añadir Documento',
allowMaximize: false,
showClose: false,
width: 800,
height: 600,
dialogReturnValueCallback: function(dialogResult,returnValue){
if(dialogResult==SP.UI.DialogResult.OK) {
alert(returnValue.newFileUrl);
}
}
};
SP.UI.ModalDialog.showModalDialog(options);
}
答案 2 :(得分:0)
这不是你要求的,但我用另一种方式将文件上传/创建到Sharepoint文档库:SharepointPlus - createFile()
这样,用户就定义了文件的名称。所以你已经知道了这个名字:-)你可能需要在上传之前先检查一下库中已经存在的名称。
我希望有帮助...