首页 > 基础资料 博客日记

java.net.SocketTimeoutException: connect timed out

2025-01-01 08:00:06基础资料围观51

Java资料网推荐java.net.SocketTimeoutException: connect timed out这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣

一个很神奇的bug(粗心所致),出现在通过http请求获取url的图片的流,进行下载。在开发环境和本地都可以,但是当发布在生产环境的时候就报错java.net.SocketTimeoutException: connect timed out。

后面经过排查,发现是由于该资源在服务器本地(开始以为图片信息在文件服务器),不需要调用http请求去获取资源,直接本地拿图片流就可以。

public static File UrltoFile(String sourceFilePath) throws Exception {
    File sourceFile = new File(sourceFilePath);
    if (!sourceFile.exists() || !sourceFile.isFile()) {
        throw new IOException("Source file not found or not a file: " + sourceFilePath);
    }

    // 创建临时文件
    File tempFile = File.createTempFile("xie_temp_", ".jpg", null); // JPG图片
    tempFile.deleteOnExit(); // JVM退出时自动删除临时文件

    try (InputStream ins = new FileInputStream(sourceFile);
         OutputStream os = new FileOutputStream(tempFile)) {

        byte[] buffer = new byte[8192];
        int bytesRead;
        while ((bytesRead = ins.read(buffer)) != -1) {
            os.write(buffer, 0, bytesRead);
        }
    }

    return tempFile;


文章来源:https://blog.csdn.net/weixin_46939756/article/details/142389004
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云