Java从网络获取的图片加载不完全-文件流未读完的解决方案

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

记录一个在实际项目中遇到的问题。

 

项目需求:

  1. 上传图片到云服务器上。
  2. 将云服务器上的图片显示在页面上。

 

实现思路:

  1. 根据云服务器的标准API,将图片文件上传,以一个UUID命名。在数据库中保存UUID。
  2. 从云服务器根据文件名UUID以流的格式获取图片,将流用HTTPServletResponse写回到前端页面。

 

代码实现:

/**
 * 根据地址获得数据的字节流
 *
 * @param strUrl
 *            网络连接地址
 * @return
 */
public static byte[] getImageFromNetByUrl(String strUrl) {
    try {
        URL url = new URL(strUrl);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setConnectTimeout(5 * 1000);
        InputStream inStream = conn.getInputStream();// 通过输入流获取图片数据
        byte[] btImg = readInputStream(inStream);// 得到图片的二进制数据
        return btImg;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
/**
 * 根据地址获得数据的字节流
 *
 * @param strUrl
android异步回调加载网络图片 在做应用的时候很多时候都会去从网络加载图片,而且还要做各种各样的加载效果。比如,加载图片的时候在图片显示loading的图片图片加载成时loading消失,加载失败又有相应的处理。如果处理好就会很麻烦,下面总结了一个轻量级的从网络加载图片方法。 package com.jacp.util; import java.io.File; import java.io.IOExceptio 阅读详情

相关推荐

Android实现异步从网络加载图片列表

有时会有在加载ListView的时候,包含用户头像或其他需要到网络获取图片信息,这时如果等待获取成再显示会比较慢,很影响用户体验,所以这时就需要利用到异步加载图片的方法。 今天整理的方法,是用Thread来进行加载,没有利用ThreadPool的方法,后面的方法以后再慢慢学一下吧,先把学会的这个记下来。   具体的效果是,加入每个ListView的项只需要显示一个图片,每张图片

carterjin的专栏 1万+

java读取图片文件流

java读取本地图片文件获取流!java读取本地图片文件获取流!

【Android-网络编程】获取网络图片的方法(Glide和API)

本文主要介绍如何获取网络图片,主要有以下两种方式:

qq_40716430的博客 1610

Java踩坑笔记 —— base64转换为图片图片显示

最近在开发项目中,发现base64转换图片时,出现了图片显示,例如如下这样可以明显看到图片部分地区被遮挡。

Marinda_Speed的博客 7245

java读取远程图片缺失或者

参考博客:https://blog.csdn.net/changerzhuo_319/article/details/70161387 读取远程图片时,读图片只读到一部分,怎么回事呢? 这就是网络上读取时丢包了。 怎么样才能读取整的图片呢? 其实很简单,控制好读才停止。怎么确定读了呢。连接有个方法获取远程资源的长度–getContentLength() 具体代码如下: pu...

open_yu的博客 3180

JAVA inputstream获取网络图片、视频问题

获取网络视频、图片后上传到MinIo图片或视频问题。

LaDaShuan的博客 1308

java获取远程网络图片文件流、压缩保存到本地

1.获取远程网路的图片 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /** * 根据地址获得数据的字节流 * ...

ywl470812087的博客 12万+

Android网络图片加载优化

当我们使用淘宝app浏览产品的时候(很多其他app也是如此),就会发现每次下拉产品目录进行更新加载图片的时候,都是出现对应的Item的时,才开始从网络下载并加载图片,从而出现很长的延时~

chen52671的专栏 3861

android从网络获取图片以及异步加载图片

import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.U

Pig 7430

安卓加载网络图片VSiOS加载网络图片

安卓 记得打开网络权限 <!-- 打开网络权限 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> Java代码 package com.example.android_load_internet_img; import an

WenZhengshi的博客 3365

nginx Java图片加载出来

Nginx Java图片加载出来的解决方案 作为一名经验丰富的开发者,我将向你介绍如何解决“nginx Java图片加载出来”的问题。这个问题可能涉及到多个方面,包括Nginx配置、Java应用服务器配置、以及图片资源的存储和访问方式。在这篇文章中,我将详细解释整个流程,并提供相应的代码示例。 问题解决流程 首先,让我...

weixin_37087164的博客 342

Glide无法加载https图片完全解决方案

在项目当中出现加载https图片失败,但是将图片url直接复制到浏览器是可以正常访问的,如果你也是出现类似问题可以参考如下解决方案。 首先出现这个问题基本上是由于https协议必须要有CA证书才可以访问,所以问题本质是进行网络访问过程中没有CA证书导致的,所以首先我们要做的是需要把图片https所对应的CA证书下载下来 我在项目当中使用Glide的版本是 implementation 'com.github.bumptech.glide:glide:4.11.0' annotationProcess

qq_35298279的博客 5586

【Android】异步加载网络图片

Android图片的异步加载,主要原理: 加载图片时先查看缓存中时候存在该图片,如果存在则返回该图片,否则先加载载一个默认的占位图片,同时创建一个通过网络获取图片的任务并添加,任务成后放松消息给主线程更新界面。 使用方法: [java] view plaincopy AsynImageLoader asynImageLoader = new

好想睡觉…… 5429

Android中获取网络图片

Android获取网络图片

Dianliang的博客 861

Android RecycleView 加载网络图片

1.初始化recycleview private NetworkImageAdapter adapter;//recyclerview 的适配器 private List<String> imagePathList;//网络图片对应的路径集合 /** * 初始化recyclerview * @param view */ private void initWidget(View...

chailongger的博客 2090

android中异步加载网络图片

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) 思路:先为ListView或者GridView等设置默认图片,然后启用异步线程下载网络图片然后更新adapter,刷新UI,代码如下: MainActivity: package com.home.asynl...

孤云博客 3131

Android加载网络图片并保存到系统相册

加载网络图片并点击保存图片到系统相册 1.首先在清单文件上加入相关权限 <!--网络--> <uses-permission android:name="android.permission.INTERNET" /> <!-- 读写文件 --> <uses-permission android:name="android.pe...

奥帕斯特李立理与鲤的博客 1390
上一篇: Excel 计算某一列不重复的值的个数公式
FingertipsKarma
博客等级 码龄15年 1粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值