Skip to content

Commit a6471ab

Browse files
committed
convert uri to filepath for android
1 parent 3061e80 commit a6471ab

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

android/src/main/java/com/visioncameradynamsoftdocumentnormalizer/VisionCameraDynamsoftDocumentNormalizerModule.java

+19-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.graphics.BitmapFactory;
77
import android.graphics.Matrix;
88
import android.graphics.Point;
9+
import android.net.Uri;
910
import android.util.Log;
1011

1112
import androidx.annotation.NonNull;
@@ -107,6 +108,11 @@ public void detectFile(String filePath, String template,Promise promise) {
107108
}
108109
WritableNativeArray returnResult = new WritableNativeArray();
109110
try {
111+
File file = new File(filePath);
112+
if (file.exists() == false) { //convert uri to path
113+
Uri uri = Uri.parse(filePath);
114+
filePath = uri.getPath();
115+
}
110116
CapturedResult capturedResult = cvr.capture(filePath,templateName);
111117
for (CapturedResultItem quad:capturedResult.getItems()) {
112118
returnResult.pushMap(Utils.getMapFromDetectedQuadResult((DetectedQuadResultItem) quad));
@@ -125,6 +131,11 @@ public void rotateFile(String filePath, int degrees, Promise promise) {
125131
bitmap = rotateBitmap(bitmap,degrees,false,false);
126132
File file = new File(filePath);
127133
try {
134+
if (file.exists() == false) { //convert uri to path
135+
Uri uri = Uri.parse(filePath);
136+
filePath = uri.getPath();
137+
file = new File(filePath);
138+
}
128139
FileOutputStream fOut = new FileOutputStream(file);
129140
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
130141
fOut.flush();
@@ -164,6 +175,11 @@ public void normalizeFile(String filePath, ReadableMap quad, ReadableMap config,
164175
}
165176
Log.d("DDN",templateName);
166177
try {
178+
File file = new File(filePath);
179+
if (file.exists() == false) { //convert uri to path
180+
Uri uri = Uri.parse(filePath);
181+
filePath = uri.getPath();
182+
}
167183
ReadableArray points = quad.getArray("points");
168184
Quadrilateral quadrilateral = new Quadrilateral();
169185
quadrilateral.points = convertPoints(points);
@@ -178,9 +194,9 @@ public void normalizeFile(String filePath, ReadableMap quad, ReadableMap config,
178194
if (config.getBoolean("saveNormalizationResultAsFile")) {
179195
File cacheDir = mContext.getCacheDir();
180196
String fileName = System.currentTimeMillis() + ".jpg";
181-
File file = new File(cacheDir,fileName);
182-
new ImageManager().saveToFile(result.getImageData(),file.getAbsolutePath(),true);
183-
returnResult.putString("imageURL",file.getAbsolutePath());
197+
File output = new File(cacheDir,fileName);
198+
new ImageManager().saveToFile(result.getImageData(),output.getAbsolutePath(),true);
199+
returnResult.putString("imageURL",output.getAbsolutePath());
184200
}
185201
}
186202
if (config.hasKey("includeNormalizationResultAsBase64")) {

0 commit comments

Comments
 (0)