我已经上传了一个图像通过我的颤振web应用程序到我的节点-js后端。文件上传得很好,我可以在VS代码中查看它。我有"ngrok“运行,所以我可以连接到我的颤振移动应用程序。但是当我尝试在移动应用程序中加载图像时,这就是我所得到的。
E/FlutterJNI(24257): Failed to decode image
E/FlutterJNI(24257): android.graphics.ImageDecoder$DecodeException: Failed to create image decoder with message 'unimplemented'Input contained an error.
E/FlutterJNI(24257): at android.graphics.ImageDecoder.nCreate(Native Method)
E/FlutterJNI(24257): at android.graphics.ImageDecoder.access$200(ImageDecoder.java:173)
E/FlutterJNI(24257): at android.graphics.ImageDecoder$ByteBufferSource.createImageDecoder(ImageDecoder.java:250)
E/FlutterJNI(24257): at android.graphics.ImageDecoder.decodeBitmapImpl(ImageDecoder.java:1862)
E/FlutterJNI(24257): at android.graphics.ImageDecoder.decodeBitmap(ImageDecoder.java:1855)
E/FlutterJNI(24257): at io.flutter.embedding.engine.FlutterJNI.decodeImage(FlutterJNI.java:524)
════════ Exception caught by image resource service ════════════════════════════
The following _Exception was thrown resolving an image codec:
Exception: Invalid image data
When the exception was thrown, this was the stack
#0 _futurize (dart:ui/painting.dart:5718:5)
#1 ImageDescriptor.encoded (dart:ui/painting.dart:5574:12)
#2 instantiateImageCodec (dart:ui/painting.dart:2056:60)
<asynchronous suspension>
Image provider: NetworkImage("https://ff8c-119-153-136-128.ngrok.io/uploads\banners\1660405360606-MicrosoftTeams-image.png", scale: 1.0)
Image key: NetworkImage("https://ff8c-119-153-136-128.ngrok.io/uploads\banners\1660405360606-MicrosoftTeams-image.png", scale: 1.
虽然我打开图片的URL直接在浏览器内,它加载很好。我正在使用文件选择程序包以字节形式上传来自web应用程序的图像。这是加载图像的代码:
CachedNetworkImage(
imageUrl: baseURL + banner.imageUrl!,
height: 120.h,
width: double.infinity,
fit: BoxFit.cover,
progressIndicatorBuilder: (context, str, progress) {
return SizedBox(
height: 120.h,
child: const Center(
child: CircularProgressIndicator.adaptive(),
),
);
},
),
我无法验证这个问题是因为ngrok还是因为文件是以字节形式上传的。
发布于 2022-08-14 11:27:01
事实证明,问题在于URL中的反斜杠。如果我在浏览器中打开URL,它会自动将"“替换为"/”。但在加载图像时,这种情况不会在颤振中发生。
https://stackoverflow.com/questions/73346256
复制相似问题