从包含上载表单的模态对话框返回文件URL

时间:2014-01-15 17:17:06

标签: jquery sharepoint file-upload client-object-model

如何使用默认上传页面将文件的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);}

3 个答案:

答案 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()

这样,用户就定义了文件的名称。所以你已经知道了这个名字:-)你可能需要在上传之前先检查一下库中已经存在的名称。

我希望有帮助...