|
1 |
| -# react-native-fetch-blob []()  []() |
| 1 | +# react-native-fetch-blob [](https://www.npmjs.com/package/react-native-fetch-blob)  []() |
2 | 2 |
|
3 | 3 | A module provides upload, download, and files access API. Supports file stream read/write for process large files.
|
4 | 4 |
|
5 | 5 | **Why do we need this**
|
6 | 6 |
|
7 | 7 | React Native does not support `Blob` object at this moment, which means 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).
|
8 | 8 |
|
9 |
| -For some uses cases, you might get into trouble. For example, displaying an image that requires a specific field in headers (ex. "Authorization : Bearer ...") or body, so you can't just pass the image uri to `Image` component because that will probably returns a 401 response. Or you're going to upload binary data which generated from JS, the server will get an empry body due to [this issue](https://github.com/facebook/react-native/issues/854). With help of this APIs provides by this module, you can send HTTP request with any headers, and decide how to handle the response/reqeust data without worry about if it is not supported by `fetch` API. The response data can be just simply converted into BASE64 string, or store to a file directly so that you can read it by file access APIs such as readFile, readStream. |
| 9 | +For some use cases, you might get into trouble. For example, displaying an image that requires a specific field in headers (ex. "Authorization : Bearer ...") or body, so you can't just pass the image uri to `Image` component because that will probably returns a 401 response. Or you're going to upload binary data which generated from JS, the server will get an empry body due to [this issue](https://github.com/facebook/react-native/issues/854). With help of APIs provided by this module, you can send HTTP request with any headers, and decide how to handle the response/reqeust data without worry about if it is not supported by `fetch` API. The response data can be just simply converted into BASE64 string, or stored to a file directly so that you can read it by using file access APIs such as readFile, readStream. |
10 | 10 |
|
11 | 11 | This module was designed to be a substitution of `Blob`, there's a set of APIs including basic file system CRUD method, and file stream reader/writer. Also it has a special `fetch` implementation that supports binary request/response body.
|
12 | 12 |
|
13 | 13 | **Pre v0.5.0 Users**
|
14 | 14 |
|
15 |
| -This update is `backward-compatible` generally you don't have to change existing code unless you're going to use new APIs. In latest version (v0.5.0), new APIs can either `upload` or `download` files simply using a file path. It's much more memory efficent in some use case. We've also introduced `fs` APIs for access files, and `file stream` API that helps you read/write files (especially for **large ones**), see [Examples](#user-content-usage) bellow. This module implements native methods, supports both Android (uses awesome native library [AsyncHttpClient](https://github.com/AsyncHttpClient/async-http-client])) and IOS. |
| 15 | +All updates are `backward-compatible` generally you don't have to change existing code unless you're going to use new APIs. In latest version (v0.5.0), new APIs can either `upload` or `download` files simply using a file path. It's much more memory efficent in some use case. We've also introduced `fs` APIs for access files, and `file stream` API that helps you read/write files (especially for **large ones**), see [Examples](#user-content-usage) bellow. This module implements native methods, supports both Android (uses awesome native library [AsyncHttpClient](https://github.com/AsyncHttpClient/async-http-client])) and IOS. |
16 | 16 |
|
17 | 17 | ## TOC
|
18 | 18 |
|
@@ -539,6 +539,7 @@ RNFetchBlob.config({
|
539 | 539 |
|
540 | 540 | | Version | |
|
541 | 541 | |---|---|
|
| 542 | +| 0.6.1 | Fix #37 progress report API issue on IOS | |
542 | 543 | | 0.6.0 | Add readFile and writeFile API for easier file access, also added Android download manager support. |
|
543 | 544 | | 0.5.8 | Fix #33 PUT request will always be sent as POST on Android |
|
544 | 545 | | 0.5.7 | Fix #31 #30 Xcode pre 7.3 build error |
|
|
0 commit comments