- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在开发一个有客户列表的应用程序,我将客户显示为列表(使用容器而不是代号一中解释的列表)。从带有前导标签的列表中,我单击该项目,它会转到显示客户图片和其他信息的详细信息页面。这是我从 url (amazon s3 bucket) 获取图像的代码
private Image getUserProfilePicture(String imgName)
{
Image defaultImage = FromResource("DefaultPhoto.png");
int width = defaultImage.getWidth();
int height = defaultImage.getHeight();
String imgUrl = "image from s3 bucket";
EncodedImage placeHolder = (EncodedImage)defaultImage;
Image roundMask = Image.createImage(width, height, 0xff000000);
Graphics gr = roundMask.getGraphics();
gr.setColor(0xffffff);
gr.fillArc(0, 0, width, height, 0, 360);
URLImage.ImageAdapter ada = URLImage.createMaskAdapter(placeHolder);
//image is deleted from storage before load
Image profileImage = URLImage.createToStorage(placeHolder, imgName,
imgUrl, ada);
return profileImage;
}
有些客户一开始就没有图片,我确实看到了默认图片。当我返回列表并再次单击同一个客户时,没有显示任何图像。空白区域。相反,我在调试器窗口中收到以下错误消息。
[EDT] 0:0:0,1 - Exception: java.lang.IllegalArgumentException - create image failed for the given image data of length: 306 java.lang.IllegalArgumentException: create image failed for the given image data of length: 306 at com.codename1.ui.Image.createImage(Image.java:655) at com.codename1.ui.EncodedImage.getInternal(EncodedImage.java:366) at com.codename1.ui.EncodedImage.getInternalImpl(EncodedImage.java:341) at com.codename1.ui.EncodedImage.getWidth(EncodedImage.java:512) at com.codename1.ui.URLImage$ScaleToFill.adaptImage(URLImage.java:116) at com.codename1.ui.URLImage$DownloadCompleted.actionPerformed(URLImage.java:239) at com.codename1.ui.URLImage$4.onSucess(URLImage.java:302) at com.codename1.ui.URLImage$4.onSucess(URLImage.java:298) at com.codename1.util.CallbackDispatcher.run(CallbackDispatcher.java:53) at com.codename1.ui.Display.processSerialCalls(Display.java:1155) at com.codename1.ui.Display.edtLoopImpl(Display.java:1099) at com.codename1.ui.Display.mainEDTLoop(Display.java:1000) at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120) at
com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
当我再次返回列表并再次单击同一个客户时,我确实看到了默认图像。我确实在每次点击时收到此错误消息。我完全迷失在这里。
我知道占位符图像将一直显示到从 url 加载图像为止。在这种情况下,s3 存储桶中没有图像。由于我没有使用 NetworkManager 检查 204 响应代码,因此无法确定图像是否已加载。我直接将 s3 url 与 URLImage 一起使用。
任何帮助将不胜感激。
谢谢。
最佳答案
清除您的本地存储以确保图像已下载。打开网络监视器并查看结果。 306 字节似乎是图像的错误大小,所以我猜您是从亚马逊收到一条错误消息并尝试将其作为图像读取。
如果您打开网络监视器,您应该能够检查发送的请求和响应并查看请求失败的原因。
关于codenameone - 代号一加载UrlImage问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43860651/
当在我的代码中使用 URLImage 而没有行 Label lb=new Image(img) 时,我只是幸运地时不时地从网络服务器获取图像(在网络监视器中没有发送请求)。当我有这个“假”标签时,我每
我将占位符缩放到屏幕大小,如下所示。但是,如果它首先以纵向模式查看,它只会占用屏幕,而不会在横向模式下覆盖整个屏幕。如果它是第一次在横向模式下查看,那么它看起来比纵向模式下的屏幕尺寸大。 我该如何解决
我正在尝试使用 URLImage.createToStorage 从 url 中提取图像。不过,我希望该图片显示为圆形,因此我向图像添加了蒙版。但是,当我运行时,标签仅显示占位符图像,而不显示网址图像
我正在尝试使用代号创建一个应用程序,该应用程序使用 RESTful 网络服务来下载要显示的详细信息,包括图像 url。 我认为我需要的是 ScaleImageButton,其目的是要有一个项目列表,可
我正在创建一个带有占位符的 URLImage。占位符首先显示,直到图像从 Internet 下载。如果未找到 Internet 图像,则会删除占位符图像并显示空白区域。 我想保留占位符图像以防找不到
我正在构建(研究目的)一个类似于 Snapchat 的解决方案。这个想法是将图片发送给另一个可以打开它的人。信息被保存到 Firebase-Realtime-Database,一旦接收者点击,就会显示
我是一名优秀的程序员,十分优秀!