图片Url转换Base64

java 图片Url转换Base64

1、引用依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.daylight</groupId>
    <artifactId>demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
     
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
    </dependencies>
</project>
2、Img2Base64Util
import com.daylight.common.utils.MyX509TrustManager;
import org.apache.commons.io.IOUtils;
import java.util.Base64;

import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;

/**
 * 功能描述: 概述:
 * 创  建 人: bailangtao
 * 创建日期: 2022-08-24 18:27
 * 版      本: 1.0.0
 */

public class Img2Base64Util {
    
    
    public static void main(String[] args) throws IOException {
    
    
        //将图片转换位base64并存入数据库
        String bsse64 = "";
        //转成Base64
        InputStream httpsFile = null;
        try {
    
    
            String img = "https://fyb-1.cdn.bcebos.com/fyb-1/20220819/9c043242513138ca0959f1c045742a23?x-bce-process=image/resize,m_fill,w_160,h_214";
            //若图片路径中有中文需将中文进行url编码
//            String img2 = URLEncoder.encode("程序附件", "UTF-8");
            System.out.println(img);
            httpsFile = getHttpsFile(img);
            byte[] bytes = IOUtils.toByteArray(httpsFile);
            bsse64 = Base64.getEncoder().encodeToString(bytes);
            System.out.println("bsse64"+"-----"+bsse64);
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
    }

    public static InputStream getHttpsFile(String fileUrl) throws NoSuchProviderException, NoSuchAlgorithmException, IOException, KeyManagementException {
    
    
        // 创建SSLContext对象,使用指定的信任管理器初始化
        if (fileUrl.contains("https:")) {
    
    //https
            TrustManager[] tm = {
    
    new MyX509TrustManager()};
            SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
            sslContext.init(null, tm, new java.security.SecureRandom());
            SSLSocketFactory ssf = sslContext.getSocketFactory();
            URL url = new URL(fileUrl);
            HttpsURLConnection httpsConn = (HttpsURLConnection) url.openConnection();
            httpsConn.setSSLSocketFactory(ssf);
            httpsConn.setDoInput(true);
            httpsConn.setDoOutput(true);
            return httpsConn.getInputStream();
        } else {
    
    //http
            URL url = new URL(fileUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(10 * 1000);
            return connection.getInputStream();
        }
    }
}
3、MyX509TrustManager
import javax.net.ssl.X509TrustManager;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

/**
 * 功能描述: 概述:
 * 创  建 人: bailangtao
 * 创建日期: 2022-08-22 21:50
 * 版      本: 1.0.0
 */

public class MyX509TrustManager implements X509TrustManager {
    
    
    @Override
    public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
    
    

    }

    @Override
    public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
    
    

    }

    @Override
    public X509Certificate[] getAcceptedIssuers() {
    
    
        return new X509Certificate[0];
    }
}

运行输出结果

bsse64-----:/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCADWAKADASIAAhEBAxEB/8QAHAAAAQUBAQEAAAAAAAAAAAAAAAECAwQGBQcI/8QANxAAAQQBAwMCBAQFAwUBAAAAAQACAxEEBRIhBjFBE1EHImFxFBWBkTJCobHBI1LRJEOSouHw/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAECAwQF/8QAKhEAAgICAgIBAgUFAAAAAAAAAAECEQMhEjEEQVEiMgUTYXHRQoGRscH/2gAMAwEAAhEDEQA/AMpPMJLNEfRUyKHCeb8lNpXyPGjBJDC5MkqlIWcXRr3KY8cBFlpIoTt5tQd1Yn7hQHhI2ihhr9EhSnlITSQ0NquE0/ZOJ8pHFBaGXSe2QtHa0zulapbLr2SCQk9qSGz5QBQJKaX8dkikxDaThLxXKaeAqTJcdjXFMJS2fCaQkzRJIQklNPJTkhSGbibD9Nwa1xe7zxwmGHbbTV13SHJeXEl1k+6ryTOPlNSfs4Hj+CV0m2MMB4CryHgEKMv57p73gsZ9kOVGmPDd2UZTbyVEW8EqXJAMDiwkSB137hQR+pttxsHsmpWW40NISG1IWpppMlER7Jh4Upq+yjd2pS2axRHzakZxdpg5T2igkNjiLCjIT7TbHKBIakNAVXPulPJSysMTWucQd3sgtNERISVaLBSm0FDElJySkAacv4THOKCCFC488FJGfAQuJtEhLWMr2TD5U0rD6MJ9wf7pPtGkI3GT+Cob554TbPAvhPcKUYAJVGNWPaaN91C42Snni6Ud/RGxpDXH2UbuSnE+FA+Su37oLSJLopRK0D+IX91VL790l+fKA4lvcD2IKDyLVUd08OIKB8US2kcS5oaewPCQOCVAVsSkISFAxKSJXJNpPKB0ah8bueQqrmj3VzFkjGVE+eF0sDXAyMaaseybrWRp+RqT36djnGxjw2NzrIWSu6KyZIP7Sj37cq3mROjwsJxH8THH/wBimQxbqaPK1Ot6JHD07pLpchseQ3FfIYnDvch2j7nn/wASlOSUohhbcJ67X/TDvJJ5TQD3Vh0QNoilkxXufDI5ji0sJHkEUQtv2MEiCRoETXeo0uJILObH19uf8Ks6QN7nn2TZ8gB2xnLvNJmPC/KyI4Q5jXPdtDpHhrR9yeAgtIY6Tc7ngK4YcJ+AHtnkblA/NG5ttcPcEf2K57wWuINWODRtTY2ZLiSepGRYFctDgR7EHgpPa0WmvZC8UU3lPlf6ji7gEm6AofskbTG279B7pkk+NC2R7RI9rGk0XOuh9TSsZ+LFjShkWVFktI/jjDgPtyAqHqveaHH2TgefqlWwGkEJzXpbKYRRTBEgcPKWr7KMUR35QCWnkJFIlIIHhMIJ8lSDkApdt8IbopL4OrkatNjwyNx3uiZLTHhriNzb8+4V/Sun87Xy+PTYTLLGC6RvAoeCD5XNztMmlwpZBsaNu9jS7k//AKknTuTlSRv/AA+U+KVvDi01Y/dTJ0tGUYcukdbSpSNcxcLNbHGxsgiftja0jmrJA5/VMwp59U1nVYpMlkjsVsz4ARxILoW7/aLsBUcx7tKiflPmBmdYbY5J91wcjU4m+nJj7hJ6W15P+7cf8UoUW22jqpQjFNe9mkeWQxOa+Np+UN3Em2n3HP8AdcfJyS9xYzgKs3U3ZGODM+tvCoz5fqW1nAPcnytIpoxkk5WjoYUQmzXta4OFAXfFrca50Dqul6UzUTht/ClgLnRSiXb9TQ4H7j6rCYFwQtd5dyuwdczm4TsRuZkCB3eISHaf0ullkjkck4NfqSmvZxpWkPITQaU5IfuG0G65N2Ehx3NFkLcRCaHJ7eAmPduPKV3AN9/CjvlAx4dtUgeFXLvolBQFFjcEdxwVATaA4hAEymZTm8qsHcd05shbykxp0yyG127JzeDyoWzDzwnh18iiFNG0Wr0d+CVsm7zTi1w+yzU8g0vU5G4k7qb5qq9x5ulb1M5ODO7Jgk2xyEWPrXss9LK6SR0jjbnGyU6vsxx3HaLuqarLqRi9UDdGKseVzjyeEEWnBnHdUkkqLbbdsVjSeOE58bgaVjDdFHOx00ZfGHAuaDRcPIvwtVrmV0dk6QPyrTtRxNQBHEk4kjrzz3/ss5ZOLSpuwo4mMWyYoduFtFEef0T5dgcQ1xc33IpUMOQtn9Pw80Pur88EkMmyQbXeQT2VmdUEbh3PhbJ/UXTU+gfhZ+mWR5rY9rcnHyCy3V/EQQb55WJ2uF1yPcJr3O291GTFHJV+hp0Mndb+Oyi/ROIJPKNq0EIG2D9E2k8gg/VJXCAEHKdVGrSUUcoAXtygm09rLTXNooCgBTwSDYNFMA5TkAhurZz83I2g3HHwAOxU2l9N5mrY08+O/HaIRbmyShrj9ge65TpnE8AD7Ju9wNhxv7qWnWmaRpPa0LIwxSFh7tNFPx5Y2TsdKzewEFze1hRtovG8kAnk1adIIw4iNznD3LaVVYF/W87T83O9TTMA4UG0D0jIX8+TZVNsxLaJ7eCoCkq0KKSpA3bL/pxyOjbjiX1Sao13+itv/ERSejlseyYDs8ckLkNkc0V3H1UjpLN2Q4dkhaZ1Gm2EebRsd7KPFkEw2uLQ/wByaBU8jxG4Nrc89mtN3+ydk8WMML/bhSQ47iSdjj9QLToy9rSH/wARPIHhSxzlj9wsEKbYKk9k0OnOzX+mwxMfV/6rwz+pIXMycd+PK6N4G5po0QR+4XYOoskaGyfL9uyo5bI3kPYR9aUxbvZpOMauJz0KxNiTY5b60L497Q9u9pG5p7Ee4TGxOe4NaCXE0AFdoyLum6tl6WZDiSBhkFOtjXX+4KoyvL5C49ybKsZenZeA5rcrHkhc4WA9tWqu3ukuPaG26piWCnNBq64SAH2VzCZue5lWCOybBbZz9UwI8N7DDJva4c1/KfZc6+FNJkySxhj3WAogAmNX7AAk0laSx3enDsQlAoFMA+YJjJAQ55dIC++Tz5TmtDtjWsJkJ8mwfbhR0Wm1IZ3Pm9WT53XZs9/2QBZyNG1DFi9WbElbGOd5aa/dQR4+RlOuOOSU3yQCf6q2NZ1B2NJjDIkOMRzE5xLa+ykwNQdj4piFAFxJNVaiPKvqHPj/AEjYdGyCf9R7Yx9DZXaxcWDDjuJoMnl7u6oszg4ctIUjctpHBTasz5tFuSTefnja77hQujjd/wBuvs4pA/c1zrFD3PdNMnskkTzAwRVdH91HLihuL+IaQAHba3c/sh8lKvI/dxaY1IaZCask0KFoa9zHte0lrmmwR4Vl+m5TIPWdjSiOr3bTVKpJKSGNLWgNFCmgE+eT5R2PZ0dV13Uta9L8wy3z+kKZvPZc7+qi3I3UhRUVSG23tkoP1U+PM6GZsjD8zTYVMu47pWPop0Bz+HexSbAPomXSX1CaTKLeM2AuIyXPDa4LFBkCNsrhE4uaOxIpIJB7JxxpnwmdsTzEDRftO0H7pVux3qqIdxKUOHlIWkJExDz24W7+H+JoMuNlz63HC7a6meo4cDaQePu5nj+ywKcHcUgD186f0nDpeoSOjwjMyd7IWPmrcA5waCQ6hZrkUKv2tcAYmHJhQRvw4WyExiV0UkBdVjdtPrEk9/5V5/fvwUee/wC6BUja65JpMbsWGFjI8immduO/e2Nu0AtLrIc6+QQfvz2saz+TMbC7DdjD/qSAYnOdcNDl4PO6/wDKxMUwjcCGg14PYqQyyTSfK0bnHhrG/wBgEieJ6Z1pj6FB0/C7T4sMZLZGMkdA5tm2nxdgfKO9cntyvOjIB5VZznhxbIXCu4KYXgtAoAjz7phRfGU8MLQ920+AeFCX2VXa7g/NXtx3S+pRohAUya0E/VQ778o3IAkLqCdFKWPDhwVAXI30EFFa0lo4Sikxmv6B6Wwer8zM03IypMbKEPq48jW7m8H5gR+o8r13oPTJemND1/RNWdDkxYcplHFsdG6MO7H7FY/4c4mg5fS2S+WfK07JhO3LyYpjEJG2S35vH2BHb7K7025v5R1qzScrK1KN7Q3HmkBc+Uljh+vJr7Ly/IyOTlG9Kv8Aa9nXjhSTPGHOtxNcE9klrVQ/DrqmfHfMNIlaG/yvc1rj9gTZWXlifBM+KRhZIxxa5p7gjuF6UZwl9rs5nFrs9X+HfRel9V9CaozIYxua7JqHIq3RENBH6GzYV/QPh30azSDn6nk5WWRI+FxJMUZe004t7fLY7kgfZcb4P9UY2k5uZpeZM2GPK2vie9wDQ9tir+oP9F6Po2NouZpT8NsoysaLKfkljnWyNxe5waSOCAbNH9fC8ryc2XFOSbdaOvFCM4p+zK4vw50DVtfz9Mfo2fpQxomyMmbmCUPDiQ00QeeHcX4XmfWfTbulOopdMOS3Ia1oeyQCjtPax4K9f1j4n6Po82a+DCyZMh7G+nKYy1mQRYFE/wAo914Xqmo5Or6lkZ+Y/fPO8vefv4H0XT4jzSbc9KjLMoRVLsqbl6F8Gi49eM+RjmDHkLtzAa7URfY3XKzfR2gRdS9R4+mzTmGJ4c57h/EQBdD6r2for4ewdIahLn/j35M74zEB6e1oaSD79+E/M8nHjg4N7aFgxSk010Zj45z4H5jpuPBjwtzQx8k0jGgOLSQGg137HuvIrK9o68zundJ6ibPqvSkma/Ipxy3ZDg14FCmgGuPY0vL+qMnRMvV3TaBiTYuI5ouOU/zea5ND9U/Dk/yoxp9dizxqTZyNy9a6C+F2ma7pjNV1HURkQSNpsGMdpYfIeT2I9l5GF7T8OenpNNytN1rT8iSfT87Fe3Ia+gYZB/cW0j3VeZNwx3GVMWGPKXVmTysTQumvibi42A5mqac2Vscsc4DwC62ubdUSLu/daf4wdP6Rpen6e7SdJix5nyPMj4GEAMaB3A47kKLo4Y2HrGfpWodPjPnxM0lmWIQfTcTRBJ5rix38+Fv+ptUz8YQw4WbpGKyUOEsmoSEEDitrQRfnuuPJnlHNBLdL/JvHFcGz5jvlBPC3mu/DuDT9HytVxOosLMjgG5zGgWeQKFE+6wBXp48kciuJyyg4umItN0Z0zj9TamcefPbjCMB+yrdIL5Dfqsynxyvie18b3McOQ5pohOacotRdMItJ2z2fVsPpDpHCaM0HNkjJMGE+TcL99vYfVzr/AMKDTOqczW+hOo8n04sNkDCzHjxm7BGNt9x5XkD5XyuL3vc5x7lxsrfdJyNb8Oeo2OcAef6tAC87N43DGnJ8na3/AHR148vOdJUqZj4df1jGcTDqmZGfds7h/lc+SR8sjpHuLnuJLnE2SfdIUi9JJLo47Y5p5X0HoOfpGdov5V01nxQegG7y2M7qNbiAfJ7buaK8BxcWfMnZBjxOlleaaxgslerYT9P+HHTrnTPjl1bIbuLAbJPgfRo915/4ilKMYr7vS/k6/EtNt9FP4s9Sx5M0WhwsY/0CJJZDyWurhoPjjuvL+6lysmXMypcmd5fLK4ve4+SSoV2YMSxY1BHNknzk5FnDysjByY8rFlfFNG62SMNFpXt/Suq6u3o/N1nXcmR8jmOfE14DaY1vBoV3JP8AReRdP65j6PNKcrTYc+F4FRy/yuB4cDR+o/VdPqL4galr2KcMRsxMQ1uij5LvoT7fRc/lYp5pKCjr2zbDOONOTe/g0fSGsY3VejSdKa67fIBuw5nH5hQ7AnyPHuLCxXUHSup9P5kkeTjvdCD8mQxpLHDwb8fZcnHyZcXIjyIJHRyxuDmuaaIIXp2n/FfGfgti1XBlfLt2vdGGlr/rRqkskcuCfLCri+1/A4OGSNZHTXs8sql7HpGdDovQ3Tmo5r3DGx5HO2tJ5c95ANDuA0uP3pecdUalpOqai2fSdPOGwj5xYAc73DRwF1uoOp8TUei9H0vHBZLBXrM28DaKBB+tkqs8ZZlBNUm9/poWNxg5O/2PXc/V5ZNIxM/RpIo4srIhL3yM2l0b3gWL8kV3/wCFS1rRvzjrDGfmaezJ0z8E+F731/pvLrBF83x3HusdjfEvExekYYYoD+YwRthZG4fJwKDr/Tt7rIYfWGpN6gx9TzcrIyBHKHuj9QhpHkAdgvPw+HmTk0qq6+WdOTPi1e7oi6u0I9Oa/Pgte58NB8T3d3NP/wBsfouEStf8QeosHqHUsWTBDnMhi2ukcK3Em6r6LHr1vHlOWKLmqfs4cqiptR6BCELYzBWI8zJhx5ceOZ7YZq9RgPDq7Wq6EdhdClIhCAL+naxnaS6R2DkGF0jdrnNAuv17KtkZM+VM6aeV8sju7nuslQqaDGmyXbYY3PI5IaEqjfKilyl9KIkiuS6bmQRmSXHe1g7uI4VQoTT6CUJQdSVCIQhMkEIQgAQhCABCEIAEIQgAQhCABCEIAEIQgAWs6DdC3WQch0YiBBd6gttC+/8ARZNPZK+I2x7mn3BpTKPJUb+NmWHKptXR6p1bLgu0p7cd2PRc4uMYb5Pbjx7WuVqT+k55oGxSYrYA8F5ZDR4jPPFGt1WPP084J+TO9u18r3D2LrUVlKEOKNfM8leRJNLpG6mz+mDnTSGHGqSAlrmY3yB1SWNu4UbLK5PbuFCzN6eOIwCHEY85AOx8RJbF6l2XUbdt+Xb2rm7WLspbPurOM1HVGfoudg4p0uGGKRsjvUDYBG4ihR47j/grLJbJSIAEIQgAQhCABCEIAEIQgAQhCABCEIAEIQgAQhCABCEIAEIQgAQhCABCEIAEIQgD/9k=

猜你喜欢

转载自blog.csdn.net/bai_langtao/article/details/126510619