我的数据库中有一个表示图像的字段(类型为varbinary)。我将阅读此图像并将其显示在我的视图中。我从数据库中使用ADO读取。
在我的数据服务中(这是私有Web api项目的一部分):
FAILED
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:mergeReleaseResources'.
[stderr] > java.util.concur rent.ExecutionException:
com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource
compilation failed
[stderr] /app/turtle/workingdir/android/sdk33/android-shell-
app/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: error: failed to read PNG
signature: file does not start with PNG signature.
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info
or --debug option to get more log output. Run with --scan to get full
insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 43s
我将varbinary转换为字节数组
我的看法基本上是:
img= (byte []) reader["Image"];
,但是在我的控制器中,im无法创建base64字符串以在视图中分配给img标签。 另一个问题可能是图像以tiff格式存储。
我已经尝试在控制器中执行此操作(这是在另一个调用Web API的mvc项目中):
<img src="data:image/tiff;base64, @Model.ImageSource" />
但是尽管进行了数百次尝试(确实),但我无法可视化任何内容。我的视图仅显示图像占位符。
有人可以帮助我吗?