@@ -63,15 +63,18 @@ static public void writeFile(String path, String encoding, String data, final Pr
63
63
AsyncTask <String , Integer , Integer > task = new AsyncTask <String , Integer , Integer >() {
64
64
@ Override
65
65
protected Integer doInBackground (String ... args ) {
66
- String path = args [0 ];
67
- String encoding = args [1 ];
68
- String data = args [2 ];
69
- File f = new File (path );
70
66
try {
67
+ String path = args [0 ];
68
+ String encoding = args [1 ];
69
+ String data = args [2 ];
70
+ File f = new File (path );
71
+ File dir = f .getParentFile ();
72
+ if (!dir .exists ())
73
+ dir .mkdirs ();
71
74
FileOutputStream fout = new FileOutputStream (f );
72
75
fout .write (stringToBytes (data , encoding ));
73
76
fout .close ();
74
- promise .resolve (null );
77
+ promise .resolve (Arguments . createArray () );
75
78
} catch (Exception e ) {
76
79
promise .reject ("RNFetchBlob writeFileError" , e .getLocalizedMessage ());
77
80
}
@@ -88,13 +91,16 @@ protected Integer doInBackground(String... args) {
88
91
* @param promise
89
92
*/
90
93
static public void writeFile (String path , ReadableArray data , final Promise promise ) {
91
- AsyncTask <Object , Integer , Integer > task = new AsyncTask <Object , Integer , Integer >() {
94
+ AsyncTask <Object , Void , Void > task = new AsyncTask <Object , Void , Void >() {
92
95
@ Override
93
- protected Integer doInBackground (Object ... args ) {
94
- String path = String .valueOf (args [0 ]);
95
- ReadableArray data = (ReadableArray ) args [2 ];
96
- File f = new File (path );
96
+ protected Void doInBackground (Object ... args ) {
97
97
try {
98
+ String path = (String )args [0 ];
99
+ ReadableArray data = (ReadableArray ) args [1 ];
100
+ File f = new File (path );
101
+ File dir = f .getParentFile ();
102
+ if (!dir .exists ())
103
+ dir .mkdirs ();
98
104
FileOutputStream os = new FileOutputStream (f );
99
105
byte [] bytes = new byte [data .size ()];
100
106
for (int i =0 ;i <data .size ();i ++) {
@@ -119,7 +125,7 @@ protected Integer doInBackground(Object... args) {
119
125
* @param promise
120
126
*/
121
127
static public void readFile (String path , String encoding , final Promise promise ) {
122
- AsyncTask task = new AsyncTask <String , Integer , Integer >() {
128
+ AsyncTask < String , Integer , Integer > task = new AsyncTask <String , Integer , Integer >() {
123
129
@ Override
124
130
protected Integer doInBackground (String ... strings ) {
125
131
try {
@@ -140,7 +146,7 @@ protected Integer doInBackground(String... strings) {
140
146
for (byte b : bytes ) {
141
147
asciiResult .pushInt ((int )b );
142
148
}
143
- promise .resolve (bytes );
149
+ promise .resolve (asciiResult );
144
150
break ;
145
151
case "utf8" :
146
152
promise .resolve (new String (bytes ));
0 commit comments