文件上载到 SharePoint 中的文档库后,如何使用默认上载页面返回文件的 URL?从上传页面的"inputFile"文本框返回文本也可以.aspx但我无法弄清楚如何做到这一点,因为它加载在模式对话框中。
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);}
回调函数中使用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);
}
我最终要做的是使用SPquery来获取文件名。 我刚刚进行了查询以检索所有项目并使用上次修改的字段对它们进行排序,并将行限制设置为 1。 一旦我这样做了,我就可以找到文件的服务器相对URL。
这不是你要问的,但我使用另一种方式将文件上传/创建到 SharePoint 文档库中: SharepointPlus - createFile()
这样,用户就可以定义文件名。所以你已经知道这个名字了:-)在上传之前,您可能需要先检查库中尚不存在该名称。
我希望这有帮助...