LEKCJA 15 - REACT NATIVE (p) - camera - upload - NodeJS filesystem - webapp /updated 14.01/

LEKCJA 15 - REACT NATIVE (p) - camera - upload - NodeJS filesystem - webapp /updated 14.01/
ukryj menu
SPEC
aktualizacja: 2022-01-14 09:20:16
1. opis aplikacji - baza tej części - 3 pkt

aplikacja webowa - manager plików wysłanych z aplikacji mobilnej
wykonana za pomocą webowych komponentów React

możliwości:

- wyświetlenie listy plików z katalogu
- usuwanie wybranego pliku - przycisk "remove"
- zmiana nazwy wybranego pliku - przycisk "rename"
- zaznaczenie / odznaczenie wielu / wszystkich plików - checkboxy
- usunięcie wielu / wszystkich plików

2. asynchroniczne operacje na plikach


require

const fs = require("fs")kopiuj

a) lista plików w wybranym katalogu

fs.readdir(__dirname, function (err, files) {
 if (err) console.log(err)
 else console.log(files);
})kopiuj


b) zmiana nazwy pliku

fs.rename(filepathA, filepathB, function (err) {
 if (err) console.log(err)
 else console.log("nazwa zmieniona");
})kopiuj


c) usunięcie pliku

fs.unlink(filepath, function (err) {
 if (err) console.log(err)
 else console.log("usunięty");
})kopiuj



3. synchroniczne operacje na plikach - async/await

require

const fsPromises = require("fs").promiseskopiuj

a) lista plików w katalogu 

const list = async () => {
 try {
  const data = await fsPromises.readdir(__dirname)
  console.log(data)
 } catch (error) {
  console.log(error);
 }
}kopiuj



b) rename pliku


const rename = async () => {
 try {
  await fsPromises.rename(filepathA, filepathB)
  console.log("renamed")      
      
 } catch (error) {
  console.log(error);
 }
}kopiuj

c) usunięcie pliku

const delete = async () => {
 try {
  await fsPromises.unlink(filepath)
   console.log("usunięty")
      
 } catch (error) {
  console.log(error);
 }
}kopiuj


4. paths

ścieżki najlepiej podawać z użyciem modułu path

const path = require("path")kopiuj

const filepath = path.join("a","b","c")kopiuj

5. dokumentacja

uwaga na wersję zainstalowanego NodeJS

https://nodejs.org/api/fs.html#kopiuj