Как получить URL файла в библиотеке документов с помощью sp.web (SPFX) - PullRequest
0 голосов
/ 06 марта 2020

Мне нужно получить URL каждого отдельного файла в библиотеке SharePoint (Case Documents). На данный момент я использую:

sp.web.lists.getByTitle("Case Documents").items.get().then((items: any[]) => { 
      let returnedItems: IListCItem[] = items.map((item) => { return new ListCItem(item); });

      this.setState({ 

        ListCItems: returnedItems, 
      }, () => {
        console.log(this.state.ListCItems);
      });
    });


//     sp.web.lists.getByTitle("Case Documents").items.select("ID","Title","CaseID/Title","CaseID/ID").expand("CaseID").get().then((items: any[]) => { 
//       let returnedItems: IListCItem[] = items.map((item) => { return new ListCItem(item); });
//  console.log(returnedItems);
//       this.setState({ 

//         ListCItems: returnedItems, 
//       });
//     });

..., чтобы получить список имен файлов. Я пытался получить столбцы поиска, используя закомментированный код, как вы можете видеть. Я включил это, чтобы показать вам, как я использовал.

Может кто-нибудь сказать мне, как получить URL каждого файла, чтобы я мог затем создавать кликабельные ссылки для каждого документа в веб-части, которую я создаю.

Я посмотрел: https://github.com/SharePoint/PnP-JS-Core/wiki/Working-With: - Файлы , но мне это не понятно. Я предполагаю что-то вроде:

pnp.sp.web.getFolderByServerRelativeUrl("/sites/dev/documents").files.getByName("file.txt").getText().then((text: string) => {});


Ответы [ 2 ]

1 голос
/ 09 марта 2020

Пример демонстрации:

sp.web.lists.getByTitle('MyDoc2').items.select('Id,FileRef').get().then((items:any) => {      
      items.map((item)=>{       
        console.log(item.FileRef);       
      }) 
    })
1 голос
/ 06 марта 2020

Вы можете даже составить URL самостоятельно.

[siteurl]/[document library name]/[file name with extension]

, где вы можете получить URL сайта в spfx:

this.context.pageContext.web.absoluteUrl

, вы можете передать это как prop ваш компонент из вашего webpartname.ts файла

...