java微信识别照片条码、二维码

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;


public void weixin {
    public static void main(String[] args) {
        String apiUrl = "https://api.weixin.qq.com/cv/img/qrcode?access_token=" + "微信的凭证access_token";
        String fileName = "D:/R-C.png";
        String boundary = "---------------------------" + System.currentTimeMillis();
        File file = new File(fileName);
        try {
            URL urlObj = new URL(apiUrl);
            HttpURLConnection con = (HttpURLConnection) urlObj.openConnection();

            con.setRequestMethod("POST");
            con.setDoOutput(true);
            con.setDoInput(true);
            con.setUseCaches(false);
            con.setRequestProperty("Connection", "Keep-Alive");
            con.setRequestProperty("Charset", "UTF-8");
            con.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);

            DataOutputStream dos = new DataOutputStream(con.getOutputStream());

            dos.writeBytes("--" + boundary + "\r\n");
            dos.writeBytes("Content-Disposition: form-data; name=\"files\"; filename=\"" + fileName + "\"\r\n");
            dos.writeBytes("Content-Type: image/jpeg\r\n\r\n");

            FileInputStream fis = new FileInputStream(file);
            byte[] buffer = new byte[1024];
            int count = 0;
            while ((count = fis.read(buffer)) != -1) {
                dos.write(buffer, 0, count);
            }
            fis.close();
            dos.writeBytes("\r\n--" + boundary + "--\r\n");
            dos.flush();

            BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            br.close();
            dos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/m0_74141658/article/details/129421054