Bladeren bron

Update README.md

wkh237 8 jaren geleden
bovenliggende
commit
e733312ee4
1 gewijzigde bestanden met toevoegingen van 29 en 8 verwijderingen
  1. 29
    8
      README.md

+ 29
- 8
README.md Bestand weergeven

@@ -2,15 +2,15 @@
2 2
 
3 3
 ## v0.5.0 Work In Progress README.md
4 4
 
5
-Module for upload, download, and files access in JS context. Supports file stream read/write for process large files.
5
+A module provides upload, download, and files access API. Supports file stream read/write for process large files.
6 6
 
7 7
 **Why do we need this**
8 8
 
9 9
 At this moment, React Native does not support `Blob` object yet, so if you're going to send/receive binary data via `fetch` API, that might not work as you expect. See [[fetch] Does fetch with blob() marshal data across the bridge?](https://github.com/facebook/react-native/issues/854). 
10 10
 
11
-Therefore you may getting into trouble sometime. For example, you're going to display an image but the file server requires a specific field(for example, "Authorization") in headers or body, you can't just pass the image uri to `Image` component because that will probably returns a 401 response. With help of this module, you can send a HTTP request with any headers, and decide how to handle the response data. It can be just simply converted into BASE64 string, or store to a file directly so that you can read it by file stream or use it's path. 
11
+Hence you may getting into trouble in some use cases. For example, displaying an image on image server but the server requires a specific field(such as "Authorization") in headers or body, so you can't just pass the image uri to `Image` component because that will probably returns a 401 response. With help of this module, you can send a HTTP request with any headers, and decide how to handle the response/reqeust data. It can be just simply converted into BASE64 string, or store to a file directly so that you can read it by file stream or use it's path. 
12 12
 
13
-This module is designed for these kind of purpose, and also be a substitution of `blob`, so there's a set of file access API added after `v0.5.0`, including basic CRUD method, and file stream reader and writer.
13
+This module is designed to be a substitution of `blob`, there's a set of file access API including basic CRUD method, and file stream reader/writer. Also it has a special `fetch` implementation that supports binary request/response body.
14 14
 
15 15
 **Pre v0.5.0 Users**
16 16
 
@@ -19,12 +19,12 @@ This update is `backward-compatible` generally you don't have to change existing
19 19
 ## TOC
20 20
 
21 21
 * [Installation](#user-content-installation)
22
-* [Usages](#user-content-usage)
22
+* [Guide](#user-content-guide)
23 23
  * [Download file](#user-content-download-example--fetch-files-that-needs-authorization-token)
24 24
  * [Upload file](#user-content-upload-example--dropbox-files-upload-api)
25 25
  * [Multipart/form upload](#user-content-multipartform-data-example--post-form-data-with-file-and-data)
26 26
  * [Upload/Download progress](#user-content-uploaaddownload-progress)
27
- * [Show Downloaded File and Notification in Android Downloads App](#user-content-show-downloaded-file-in-android-downloads-app)
27
+ * [Android Media Scanner, and Downloads App Support](#user-content-android-media-scanner-and-downloads-app-support)
28 28
  * [File access](#user-content-file-access)
29 29
  * [File stream](#user-content-file-stream)
30 30
  * [Manage cached files](#user-content-manage-cached-files)
@@ -69,7 +69,7 @@ If you're going to access external storage (say, SD card storage), you might hav
69 69
 
70 70
 ```
71 71
 
72
-## Usage
72
+## Guide
73 73
 
74 74
 ```js
75 75
 import RNFetchBlob from 'react-native-fetch-blob'
@@ -296,9 +296,29 @@ In `version >= 0.4.2` it is possible to know the upload/download progress.
296 296
     })
297 297
 ```
298 298
 
299
-#### Show Downloaded File and Notifiction in Android Downloads App
299
+#### Android Media Scanner, and Downloads App Support
300 300
 
301
-When you use `config` API to store response data to file, the file won't be visible in Andoird's "Download" app, if you want to do this, some extra options in `config` is required.
301
+If you want to make a file in `External Storage` becomes visible in Picture, Misuc, or other built-in apps, you will have to use `Media Scanner`. To make this happend, use `scanFile` method in `fs`.
302
+
303
+
304
+```js
305
+
306
+RNFetchBlog
307
+    .fetch('GET', 'http://example.com/music.mp3')
308
+    .then((res) => RNFetchBlob.fs.scanFile([ { path : res.path(), mime : 'audio/mpeg' } ]))
309
+    .then(() => {
310
+        // scan file success
311
+    })
312
+    .catch((err) => {
313
+        // scan file error
314
+    })
315
+```
316
+
317
+If mime is null or undefined, then the mime type will be inferred from the file extension.
318
+
319
+**Download Notification and Visibiliy in Download App**
320
+
321
+Generally, when you store a file into 
302 322
 
303 323
 ```js
304 324
 RNFetchBlob.config({
@@ -320,6 +340,7 @@ RNFetchBlob.config({
320 340
 .then(...)
321 341
 ```
322 342
 
343
+
323 344
 #### File Access
324 345
 
325 346
 File access APIs were made when developing `v0.5.0`, which helping us write tests, and was not planned to be a part of this module. However I realized that, it's hard to find a great solution to manage cached files, every one who use this moudle may need those APIs for there cases.