[JS] Odczyt i zapis


(bogacz225) #1

Witam, z tego co wiem w JSie nie idzie odczytywać zawartości plików (choć pewnie się mylę…), ale… wiem, że mogę zrobić coś takiego w Node. Muszę napisać funkcjonalność, gdzie będę mógł wczytać z pliku (teksowego) stan gry (kilka liczb, które potem wylądują na planszy) np. klikając na przycisk ‘Wczytaj grę’ oraz zapisać aktualny stan, aby móc potem kontynuować grę. Da radę? Najlepiej jakby ta zawartość pliku była przechowywana w zmiennej, abym mógl ją wykorzystać.

//EDIT:
Znalazłem coś takiego: FileAPI, więc chyba nie będzie tak źle jak przypuszczałem :slight_smile:


(kowgli) #2

Ale jakiej gry? Działającej w przeglądarce? To tak się nie da. Node działa po stronie serwera, ewentualnie opakowane we framework, typu Electron.

Nie ma żadnej opcji, aby z poziomu strony WWW dostać w nieinteraktywny sposób do plików lokalnych użytkownika. Gdyby tak było, to byłoby by to największe zagrożenie bezpieczeństwa danych w historii :slight_smile:

Napisz może dokładnie co (a nie jak) chcesz osiągnąć. Bo kombinujesz chyba w złą stronę.


(bogacz225) #3

Chcę napisać grę w JSie, gdzie będę mógł wczytywać jej układ z pliku. Mamy np. planszę 5x5, w pliku np. 50412 i kolejne 4 takie wiersze z liczbami. 0 oznacza puste pole w tablicy. Chodzi o to, aby można było wymyślać własne układy. Tak samo zapis. Rozwiązuje część, zapisuje do pliku na serwerze, a potem sobie go wczytuję i kontynuuje. Pomijając na razie o co ma w niej chodzić jak to rozwiązać? W sumie odczytywać mógłbym w AJAXie?


(kowgli) #4

Ale chcesz, żeby ta gra działała w przeglądarce, czy jako niezależne aplikacja? Jeśli w przeglądarce to rozwiązaniem jest, tak jak piszesz, pobranie danych z serwera. Np. za pomocą AJAXa.


(bogacz225) #5

W przeglądarce oczywiście. A za pomocą czego wrzucić na serwer?


(kowgli) #6

Ale skąd? Chodzi o to, żeby użytkownik przekazał?

Najprościej <input type='file" />

Bardziej bajerancko, np. z użyciem tego - Dropzone.js

Oczywiście musisz mieć jakiś komponent po stronie serwera, który to obsłuży - PHP, ASP.NET, Ruby, Python, Node.js, … co tam preferujesz.


(bogacz225) #7

Dzięki