From b24de4fa9b3cda30a4ab6826ff438160a6370e14 Mon Sep 17 00:00:00 2001 From: purusah Date: Tue, 25 Jan 2022 23:41:26 +0200 Subject: [PATCH 01/13] Intro --- 4-binary/04-file/article.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 20878b650..ef3b45c59 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -1,27 +1,27 @@ -# File and FileReader +# File та FileReader -A [File](https://www.w3.org/TR/FileAPI/#dfn-file) object inherits from `Blob` and is extended with filesystem-related capabilities. +Об’єкт [File](https://www.w3.org/TR/FileAPI/#dfn-file) наслідується від `Blob` та надає додаткові можливості для роботи з файловою системою. -There are two ways to obtain it. +Є два способи отримати його екземпляр. -First, there's a constructor, similar to `Blob`: +По-перше, можна скористатися конструктором, схожим на `Blob`: ```js new File(fileParts, fileName, [options]) ``` -- **`fileParts`** -- is an array of Blob/BufferSource/String values. -- **`fileName`** -- file name string. -- **`options`** -- optional object: - - **`lastModified`** -- the timestamp (integer date) of last modification. +- **`fileParts`** -- масив значень, що можуть мати тип Blob/BufferSource/String. +- **`fileName`** -- рядок з іменем файлу. +- **`options`** -- необов’язковий об’єкт з властивостями: + - **`lastModified`** -- відмітка часу (ціле число) останньої зміни. -Second, more often we get a file from `` or drag'n'drop or other browser interfaces. In that case, the file gets this information from OS. +По-друге, частіше ми отримуємо файл із ``, перетягуванням чи іншим способом. У такому випадку інформацію про файл заповнює ОС. -As `File` inherits from `Blob`, `File` objects have the same properties, plus: -- `name` -- the file name, -- `lastModified` -- the timestamp of last modification. +Оскільки клас `File` наслідує `Blob`, екземпляри `File` мають такі самі властивості і ще додаткові: +- `name` -- ім’я файлу, +- `lastModified` -- відмітка часу останньої зміни. -That's how we can get a `File` object from ``: +Щоб отримати об’єкт `File` з `` потрібно: ```html run @@ -30,14 +30,14 @@ That's how we can get a `File` object from ``: function showFile(input) { let file = input.files[0]; - alert(`File name: ${file.name}`); // e.g my.png - alert(`Last modified: ${file.lastModified}`); // e.g 1552830408824 + alert(`Ім’я файлу: ${file.name}`); // наприклад my.png + alert(`Дата останньої зміни: ${file.lastModified}`); // наприклад 1552830408824 } ``` ```smart -The input may select multiple files, so `input.files` is an array-like object with them. Here we have only one file, so we just take `input.files[0]`. +Компонент введення (input) дозволяє обрати декілька файлів разом, які будуть доступні в об'єкті `input.files`. Оскільки тут ми завантажуємо один файл, то можемо скористатися `input.files[0]`. ``` ## FileReader From 0e4a5398d706cac835a8152b2058c15159fd07b3 Mon Sep 17 00:00:00 2001 From: purusah Date: Sat, 29 Jan 2022 18:13:24 +0200 Subject: [PATCH 02/13] FileReader --- 4-binary/04-file/article.md | 86 ++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index ef3b45c59..66826dd46 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -42,44 +42,44 @@ function showFile(input) { ## FileReader -[FileReader](https://www.w3.org/TR/FileAPI/#dfn-filereader) is an object with the sole purpose of reading data from `Blob` (and hence `File` too) objects. +[FileReader](https://www.w3.org/TR/FileAPI/#dfn-filereader) -- об’єкт для читання даних з `Blob`, а отже і з `File` також. -It delivers the data using events, as reading from disk may take time. +Дані передаються за допомогою подій, оскільки читання даних з диску потребує часу. -The constructor: +Конструктор: ```js -let reader = new FileReader(); // no arguments +let reader = new FileReader(); // без аргументів ``` -The main methods: +Основні методи: -- **`readAsArrayBuffer(blob)`** -- read the data in binary format `ArrayBuffer`. -- **`readAsText(blob, [encoding])`** -- read the data as a text string with the given encoding (`utf-8` by default). -- **`readAsDataURL(blob)`** -- read the binary data and encode it as base64 data url. -- **`abort()`** -- cancel the operation. +- **`readAsArrayBuffer(blob)`** -- прочитати дані в бінарному форматі і зберегти в `ArrayBuffer`. +- **`readAsText(blob, [encoding])`** -- прочитати дані як текст із заданим кодуванням (типово `utf-8`). +- **`readAsDataURL(blob)`** -- прочитати бінарні дані та закодувати у форматі base64 data url. +- **`abort()`** -- відмінити операцію. -The choice of `read*` method depends on which format we prefer, how we're going to use the data. +Вибір `read*` методу залежить від формату даних з яким ми хочемо працювати. -- `readAsArrayBuffer` -- for binary files, to do low-level binary operations. For high-level operations, like slicing, `File` inherits from `Blob`, so we can call them directly, without reading. -- `readAsText` -- for text files, when we'd like to get a string. -- `readAsDataURL` -- when we'd like to use this data in `src` for `img` or another tag. There's an alternative to reading a file for that, as discussed in chapter : `URL.createObjectURL(file)`. +- `readAsArrayBuffer` -- використовується для низькор івневих операцій з бінарними даними. Для високорівневих операцій, як отримання зрізів, об’єкт `File` успадковується від `Blob`, тому його можна використовувати безпосередньо без читання файлу. +- `readAsText` -- використовується для текстових файлів, вмісту буде записано в рядок. +- `readAsDataURL` -- використовується, якщо ми хочемо використати дані як вміст `src` тегу `img` або інших. Можна скористатися іншим способом для цього, що описано в розділі : `URL.createObjectURL(file)`. -As the reading proceeds, there are events: -- `loadstart` -- loading started. -- `progress` -- occurs during reading. -- `load` -- no errors, reading complete. -- `abort` -- `abort()` called. -- `error` -- error has occurred. -- `loadend` -- reading finished with either success or failure. +Протягом читання файлу можуть виникнути події: +- `loadstart` -- читання файлу почалось. +- `progress` -- виникає протягом читання. +- `load` -- читання завершилось без помилок. +- `abort` -- викликано `abort()`. +- `error` -- виникла помилка. +- `loadend` -- читання закінчилось успішно чи з помилкою. -When the reading is finished, we can access the result as: -- `reader.result` is the result (if successful) -- `reader.error` is the error (if failed). +Після закінчення читання файлу результат можна отримати за допомогою: +- `reader.result` якщо читання закінчилося успішно, без помилки +- `reader.error` якщо протягом читання виникла помилка. -The most widely used events are for sure `load` and `error`. +Найрозповсюдженіші події: `load` та `error`. -Here's an example of reading a file: +Приклад читання файлу: ```html run @@ -104,35 +104,35 @@ function readFile(input) { ``` -```smart header="`FileReader` for blobs" -As mentioned in the chapter , `FileReader` can read not just files, but any blobs. +```smart header="`FileReader` для Blob" +Як описано в розділі , `FileReader` може читати будь-які бінарні об’єкти, а не тільки файли. -We can use it to convert a blob to another format: -- `readAsArrayBuffer(blob)` -- to `ArrayBuffer`, -- `readAsText(blob, [encoding])` -- to string (an alternative to `TextDecoder`), -- `readAsDataURL(blob)` -- to base64 data url. +Це можна використати для перетворення бінарних Blob об’єктів у інші формати: +- `readAsArrayBuffer(blob)` -- в `ArrayBuffer`, +- `readAsText(blob, [encoding])` -- в рядок (альтернативний спосіб до `TextDecoder`), +- `readAsDataURL(blob)` -- в base64 data url. ``` -```smart header="`FileReaderSync` is available inside Web Workers" -For Web Workers, there also exists a synchronous variant of `FileReader`, called [FileReaderSync](https://www.w3.org/TR/FileAPI/#FileReaderSync). +```smart header="`FileReaderSync` доступний всередині Web Workers" +Для Web Workers існує [FileReaderSync](https://www.w3.org/TR/FileAPI/#FileReaderSync) -- синхронний варіант `FileReader`. -Its reading methods `read*` do not generate events, but rather return a result, as regular functions do. +Його метод `read*` не створює подій, а просто повертає результат, як звичайна функція. -That's only inside a Web Worker though, because delays in synchronous calls, that are possible while reading from files, in Web Workers are less important. They do not affect the page. +Синхронний метод бажано використовувати тільки разом з Web Worker, бо синхронний операція читання файлу не вплине на роботу сторінки. ``` -## Summary +## Підсумки -`File` objects inherit from `Blob`. +`File` успадковується від `Blob`. -In addition to `Blob` methods and properties, `File` objects also have `name` and `lastModified` properties, plus the internal ability to read from filesystem. We usually get `File` objects from user input, like `` or Drag'n'Drop events (`ondragend`). +На додачу до методів та властивостей, що доступні в `Blob`, об’єкт файл має властивості `name`, `lastModified` та ще можливість читати файли з файлової системи. Переважно об’єкт `File` отримується з введення користувача, як `` чи Drag'n'Drop подіями (`ondragend`). -`FileReader` objects can read from a file or a blob, in one of three formats: -- String (`readAsText`). +`FileReader` об’єкт може прочитати з файлу чи `Blob` в одному з трьох форматів: +- Рядок (`readAsText`). - `ArrayBuffer` (`readAsArrayBuffer`). -- Data url, base-64 encoded (`readAsDataURL`). +- Data url закодованому в base-64 (`readAsDataURL`). -In many cases though, we don't have to read the file contents. Just as we did with blobs, we can create a short url with `URL.createObjectURL(file)` and assign it to `` or ``. This way the file can be downloaded or shown up as an image, as a part of canvas etc. +У багатьох випадках нам не потрібно читати увесь вміст файлу. Так же як і з `Blob`, ми можемо створити коротке посилання за допомогою `URL.createObjectURL(file)` та присвоїти його тегу `` чи ``. Таким чином файл можна завантажити чи показати як зображення, як частина вмісту canvas тощо. -And if we're going to send a `File` over a network, that's also easy: network API like `XMLHttpRequest` or `fetch` natively accepts `File` objects. +Також легко відправити `File` мережею, бо мережеве API `XMLHttpRequest` чи `fetch` можуть безпосередньо працювати з об’єктами `File`. From 904b1d24d6a184e942439fc470c7a05057830c12 Mon Sep 17 00:00:00 2001 From: purusah Date: Sat, 29 Jan 2022 21:20:27 +0200 Subject: [PATCH 03/13] Fixes 1 --- 4-binary/04-file/article.md | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 66826dd46..7944d2447 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -2,9 +2,9 @@ Об’єкт [File](https://www.w3.org/TR/FileAPI/#dfn-file) наслідується від `Blob` та надає додаткові можливості для роботи з файловою системою. -Є два способи отримати його екземпляр. +Є два способи створити екземпляр `File`. -По-перше, можна скористатися конструктором, схожим на `Blob`: +По-перше, можна скористатися конструктором схожим на `Blob`: ```js new File(fileParts, fileName, [options]) @@ -42,9 +42,9 @@ function showFile(input) { ## FileReader -[FileReader](https://www.w3.org/TR/FileAPI/#dfn-filereader) -- об’єкт для читання даних з `Blob`, а отже і з `File` також. +[FileReader](https://www.w3.org/TR/FileAPI/#dfn-filereader) -- об’єкт для зчитування даних з `Blob`, а отже і з `File` також. -Дані передаються за допомогою подій, оскільки читання даних з диску потребує часу. +Дані передаються за допомогою подій, оскільки зчитування даних з диску потребує часу. Конструктор: @@ -61,25 +61,25 @@ let reader = new FileReader(); // без аргументів Вибір `read*` методу залежить від формату даних з яким ми хочемо працювати. -- `readAsArrayBuffer` -- використовується для низькор івневих операцій з бінарними даними. Для високорівневих операцій, як отримання зрізів, об’єкт `File` успадковується від `Blob`, тому його можна використовувати безпосередньо без читання файлу. +- `readAsArrayBuffer` -- використовується для низькорівневих операцій з бінарними даними. Для високорівневих операцій, як отримання зрізів, об’єкт `File` успадковується від `Blob`, тому його можна використовувати безпосередньо без читання файлу. - `readAsText` -- використовується для текстових файлів, вмісту буде записано в рядок. - `readAsDataURL` -- використовується, якщо ми хочемо використати дані як вміст `src` тегу `img` або інших. Можна скористатися іншим способом для цього, що описано в розділі : `URL.createObjectURL(file)`. -Протягом читання файлу можуть виникнути події: -- `loadstart` -- читання файлу почалось. -- `progress` -- виникає протягом читання. -- `load` -- читання завершилось без помилок. -- `abort` -- викликано `abort()`. -- `error` -- виникла помилка. -- `loadend` -- читання закінчилось успішно чи з помилкою. +Протягом зчитування файлу можуть виникнути події: +- `loadstart` -- зчитування файлу почалось. +- `progress` -- періодично виникає протягом зчитування. +- `load` -- зчитування завершилось без помилок. +- `abort` -- викликано метод `abort()`. +- `error` -- протягом зчитування виникла помилка. +- `loadend` -- зчитування закінчилось успішно чи з помилкою. -Після закінчення читання файлу результат можна отримати за допомогою: -- `reader.result` якщо читання закінчилося успішно, без помилки -- `reader.error` якщо протягом читання виникла помилка. +Після закінчення зчитування файлу результат можна отримати за допомогою: +- `reader.result` якщо зчитування закінчилося успішно, без помилки +- `reader.error` якщо протягом зчитування виникла помилка. -Найрозповсюдженіші події: `load` та `error`. +Найпотрібніші події при зчитуванні файлу: `load` та `error`. -Приклад читання файлу: +Приклад зчитування файлу: ```html run @@ -105,7 +105,7 @@ function readFile(input) { ``` ```smart header="`FileReader` для Blob" -Як описано в розділі , `FileReader` може читати будь-які бінарні об’єкти, а не тільки файли. +Як описано в розділі , `FileReader` може зчитати вміст будь-яких бінарних об’єктів, а не тільки файли. Це можна використати для перетворення бінарних Blob об’єктів у інші формати: - `readAsArrayBuffer(blob)` -- в `ArrayBuffer`, @@ -119,7 +119,7 @@ function readFile(input) { Його метод `read*` не створює подій, а просто повертає результат, як звичайна функція. -Синхронний метод бажано використовувати тільки разом з Web Worker, бо синхронний операція читання файлу не вплине на роботу сторінки. +Синхронний метод бажано використовувати тільки разом з Web Worker, бо синхронна операція читання файлу не вплине на роботу сторінки. ``` ## Підсумки From 10709ad2998f2c68d8b0484d4430da5400ce01e2 Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:26:12 +0200 Subject: [PATCH 04/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 7944d2447..5cd6b8be3 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -13,7 +13,7 @@ new File(fileParts, fileName, [options]) - **`fileParts`** -- масив значень, що можуть мати тип Blob/BufferSource/String. - **`fileName`** -- рядок з іменем файлу. - **`options`** -- необов’язковий об’єкт з властивостями: - - **`lastModified`** -- відмітка часу (ціле число) останньої зміни. + - **`lastModified`** -- мітка часу (ціле число) останньої зміни. По-друге, частіше ми отримуємо файл із ``, перетягуванням чи іншим способом. У такому випадку інформацію про файл заповнює ОС. From aef3f6b561d95556f1c681e42bd398ed8a7e8f01 Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:26:17 +0200 Subject: [PATCH 05/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 5cd6b8be3..4d0917de4 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -19,7 +19,7 @@ new File(fileParts, fileName, [options]) Оскільки клас `File` наслідує `Blob`, екземпляри `File` мають такі самі властивості і ще додаткові: - `name` -- ім’я файлу, -- `lastModified` -- відмітка часу останньої зміни. +- `lastModified` -- мітка часу останньої зміни. Щоб отримати об’єкт `File` з `` потрібно: From 3b0187cb247ddf09b4f3ea75ebc2a87f2016928f Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:26:54 +0200 Subject: [PATCH 06/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 4d0917de4..33b0af63a 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -62,7 +62,7 @@ let reader = new FileReader(); // без аргументів Вибір `read*` методу залежить від формату даних з яким ми хочемо працювати. - `readAsArrayBuffer` -- використовується для низькорівневих операцій з бінарними даними. Для високорівневих операцій, як отримання зрізів, об’єкт `File` успадковується від `Blob`, тому його можна використовувати безпосередньо без читання файлу. -- `readAsText` -- використовується для текстових файлів, вмісту буде записано в рядок. +- `readAsText` -- використовується для текстових файлів, вміст буде записано в рядок. - `readAsDataURL` -- використовується, якщо ми хочемо використати дані як вміст `src` тегу `img` або інших. Можна скористатися іншим способом для цього, що описано в розділі : `URL.createObjectURL(file)`. Протягом зчитування файлу можуть виникнути події: From 34c006df7b928bdac138589ede3deb9c5aee1bf3 Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:27:06 +0200 Subject: [PATCH 07/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 33b0af63a..0449b8360 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -105,7 +105,7 @@ function readFile(input) { ``` ```smart header="`FileReader` для Blob" -Як описано в розділі , `FileReader` може зчитати вміст будь-яких бінарних об’єктів, а не тільки файли. +Як описано в розділі , `FileReader` може зчитати вміст будь-яких бінарних об’єктів, а не тільки файлів. Це можна використати для перетворення бінарних Blob об’єктів у інші формати: - `readAsArrayBuffer(blob)` -- в `ArrayBuffer`, From ba5469377eede1fd8473daff84c047b66b4ad3c9 Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:27:12 +0200 Subject: [PATCH 08/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 0449b8360..f51c1dcbe 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -110,7 +110,7 @@ function readFile(input) { Це можна використати для перетворення бінарних Blob об’єктів у інші формати: - `readAsArrayBuffer(blob)` -- в `ArrayBuffer`, - `readAsText(blob, [encoding])` -- в рядок (альтернативний спосіб до `TextDecoder`), -- `readAsDataURL(blob)` -- в base64 data url. +- `readAsDataURL(blob)` -- в формат base64-кодованого url. ``` From 456406ce49567c3d62b0ac1685a4a67e586a5b4a Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:27:23 +0200 Subject: [PATCH 09/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index f51c1dcbe..e9f3438a8 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -119,7 +119,7 @@ function readFile(input) { Його метод `read*` не створює подій, а просто повертає результат, як звичайна функція. -Синхронний метод бажано використовувати тільки разом з Web Worker, бо синхронна операція читання файлу не вплине на роботу сторінки. +Синхронний метод бажано використовувати тільки всередині Web Worker, бо затримки під час синхронного виклику, що ймовірні при синхронному читанні з файлів, в Web Worker є менш важливими. Вони не впливають на сторінку. ``` ## Підсумки From 7a3731d61132a21f31e3e958fd2400a2b0e75437 Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:27:30 +0200 Subject: [PATCH 10/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index e9f3438a8..14a38fe96 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -126,7 +126,7 @@ function readFile(input) { `File` успадковується від `Blob`. -На додачу до методів та властивостей, що доступні в `Blob`, об’єкт файл має властивості `name`, `lastModified` та ще можливість читати файли з файлової системи. Переважно об’єкт `File` отримується з введення користувача, як `` чи Drag'n'Drop подіями (`ondragend`). +На додачу до методів та властивостей, що доступні в `Blob`, об’єкт `File` має властивості `name`, `lastModified` та ще можливість читати файли з файлової системи. Переважно об’єкт `File` отримується з користувацького вводу, як `` чи Drag'n'Drop подіями (`ondragend`). `FileReader` об’єкт може прочитати з файлу чи `Blob` в одному з трьох форматів: - Рядок (`readAsText`). From b3ef0331fe8868922bac7511c39045794b8c06c0 Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:27:37 +0200 Subject: [PATCH 11/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 14a38fe96..63670c3de 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -133,6 +133,6 @@ function readFile(input) { - `ArrayBuffer` (`readAsArrayBuffer`). - Data url закодованому в base-64 (`readAsDataURL`). -У багатьох випадках нам не потрібно читати увесь вміст файлу. Так же як і з `Blob`, ми можемо створити коротке посилання за допомогою `URL.createObjectURL(file)` та присвоїти його тегу `` чи ``. Таким чином файл можна завантажити чи показати як зображення, як частина вмісту canvas тощо. +У багатьох випадках нам не потрібно читати увесь вміст файлу. Так же як і з blob, ми можемо створити коротке посилання за допомогою `URL.createObjectURL(file)` та присвоїти його тегу `` чи ``. Таким чином файл можна завантажити чи показати як зображення, як частину вмісту canvas тощо. Також легко відправити `File` мережею, бо мережеве API `XMLHttpRequest` чи `fetch` можуть безпосередньо працювати з об’єктами `File`. From 211dbed384cf54533a160fecdf65f14d4e70ecdb Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:27:45 +0200 Subject: [PATCH 12/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 63670c3de..6229ab86b 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -128,7 +128,7 @@ function readFile(input) { На додачу до методів та властивостей, що доступні в `Blob`, об’єкт `File` має властивості `name`, `lastModified` та ще можливість читати файли з файлової системи. Переважно об’єкт `File` отримується з користувацького вводу, як `` чи Drag'n'Drop подіями (`ondragend`). -`FileReader` об’єкт може прочитати з файлу чи `Blob` в одному з трьох форматів: +`FileReader` об’єкт може прочитати з файлу чи blob в одному з трьох форматів: - Рядок (`readAsText`). - `ArrayBuffer` (`readAsArrayBuffer`). - Data url закодованому в base-64 (`readAsDataURL`). From f05e28cc7a52f04c000bd307d4e2e349e6b4e18f Mon Sep 17 00:00:00 2001 From: Mykola Sopiha Date: Sun, 30 Jan 2022 16:28:14 +0200 Subject: [PATCH 13/13] Update 4-binary/04-file/article.md --- 4-binary/04-file/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4-binary/04-file/article.md b/4-binary/04-file/article.md index 6229ab86b..5a9e429b2 100644 --- a/4-binary/04-file/article.md +++ b/4-binary/04-file/article.md @@ -131,7 +131,7 @@ function readFile(input) { `FileReader` об’єкт може прочитати з файлу чи blob в одному з трьох форматів: - Рядок (`readAsText`). - `ArrayBuffer` (`readAsArrayBuffer`). -- Data url закодованому в base-64 (`readAsDataURL`). +- URL в форматі base-64 (`readAsDataURL`). У багатьох випадках нам не потрібно читати увесь вміст файлу. Так же як і з blob, ми можемо створити коротке посилання за допомогою `URL.createObjectURL(file)` та присвоїти його тегу `` чи ``. Таким чином файл можна завантажити чи показати як зображення, як частину вмісту canvas тощо. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy