java从服务器下载图片怎么讲图片保存到本地的sdcard上

java从服务器下载图片怎么讲图片保存到本地的sdcard上,第1张

ublic HttpServletResponse download(String path, HttpServletResponse response) {

try {

// path是指欲下载的文件的路径。

File file = new File(path)

// 取得文件名。

String filename = file.getName()

// 取得文件的后缀名。

String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase()

// 以流的形式下载文件。

InputStream fis = new BufferedInputStream(new FileInputStream(path))

byte[] buffer = new byte[fis.available()]

fis.read(buffer)

fis.close()

// 清空response

response.reset()

// 设置response的Header

response.addHeader("Content-Disposition", "attachmentfilename=" + new String(filename.getBytes()))

response.addHeader("Content-Length", "" + file.length())

OutputStream toClient = new BufferedOutputStream(response.getOutputStream())

response.setContentType("application/octet-stream")

toClient.write(buffer)

toClient.flush()

toClient.close()

} catch (IOException ex) {

ex.printStackTrace()

}

return response

}

客户端稍作改动:

byte[] cc = new byte[1024]

int len

while ((len=in.read(cc))!=-1) {

write.write(cc, 0, len)

}

然后就可以了。

会不会是多线程同时下载一张图片?

inputStream = conn.getInputStream()

如果有两个线程同时将这个流写入到指定文件应该就会出错了吧!

之前写一个下载APK文件会出现APK解析错误,借此思路,希望能帮到你!~


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/344107.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存