Kopiowanie plików w Power Apps

Kopiowanie plików SharePoint w aplikacji Power Apps. Sposoby tradycyjne i wykorzystanie SharePoint REST API
Odwiedź naszą stronę Power Apps

Jeśli szukasz więcej informacji na temat Power Apps i tematów pokrewnych, zajrzyj tam. Znajdziesz tam wszystkie artykuły dotyczące Power Apps w jednym miejscu.

lub czytaj dalej…


Podobnie jak w przypadku dodawania plików, również przy kopiowaniu sytuacja wygląda podobnie. Power Apps nie posiada gotowych mechanizmów – należy skorzystać z Power Automate. Power Automate daje możliwość skorzystania z wbudowanej akcji lub wywołania REST API.

Kopiowanie pliku w bibliotece dokumentów SharePoint

Wykorzystanie standardowych akcji Power Automate

Akcje “Get file content” i “Create file”

File Identifier” powinno zostać znormalizowane dla zapewnienia poprawności składni adresu URL. Dlatego w tym polu została użyta funkcja:

encodeUriComponent(variables('SrcFile'))

Zmienna SrcFile została zadeklarowana wcześniej. Ma ona format oczekiwany przez akcję “Get file content” a więc na przykład: /Documents_upload/Document.docx

Akcja “Copy file”

File to copy” powinno zostać znormalizowane dla zapewnienia poprawności składni adresu URL. Dlatego w tym polu została użyta funkcja:

encodeUriComponent(variables('SrcFile'))

Zmienna SrcFile została zadeklarowana wcześniej. Ma ona format oczekiwany przez akcję “Copy File” a więc na przykład: /Documents_upload/Document.docx

Jak widać akcja “Copy file” nie pozwala określić nazwy pliku docelowego. Można jedynie wybrać opcję zapisu pod nową nazwą – określoną przez system.

W tym wypadku należy zwrócić do aplikacji nazwę nowego pliku.

W dalszej części zobaczymy jak użycie jednej akcji przekłada się na wydajność.

Wykorzystanie SharePoint REST API

Należy zwrócić szczególną uwagę na prawidłowe podanie wartości zmiennych SrcRelativeFileUrlDstRelativeFileUrl

Przykładowe wywołanie będzie wyglądać następująco:

/_api/Web/GetFileByServerRelativePath(decodedurl='/sites/SiteName/DocLibrary/Document.docx')/copyto(strnewurl='/sites/SiteName/DocLibrary/Document_copy.docx',boverwrite=true)

wkrótce, w kolejnym artykule – porównanie wydajności omawianych metod

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *