华为云会议 MEETING-查询录制文件下载链接:下载示例

时间:2025-03-27 14:48:55

下载示例

通过调用接口,获取到下载链接和鉴权token后,可以通过以下示例代码(Java)下载录制文件:

/**
 * 录制文件下载
 *
 * @param downloadUrl 录制文件下载链接
 * @param localPath   本地保存路径
 * @param token 下载鉴权token
 */
public static void httpDownload(String downloadUrl, String localPath, String token) {
    int byteRead;
    try {
        URL url = new URL(downloadUrl);
        HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
        // 请求头域中携带下载鉴权token
        connection.setRequestProperty("Authorization", token);
        connection.setHostnameVerifier(new HostnameVerifier() {
            @Override
            public Boolean verify(String hostname, SSLSession sslSession) {
                return true;
            }
        });
        TrustManager[] trustManagers = new TrustManager[]{
                new X509TrustManager() {
                    public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
                    }

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

                    public X509Certificate[] getAcceptedIssuers() {
                        return null;
                    }
                }
        };
        SSLContext ctx = SSLContext.getInstance("TLS");
        ctx.init(null, trustManagers, null);
        connection.setSSLSocketFactory(ctx.getSocketFactory());
        // 获取文件流
        InputStream inStream = connection.getInputStream();
        // 保存到本地路径下
        FileOutputStream fs = new FileOutputStream(localPath);
        byte[] buffer = new byte[1024];
        while ((byteRead = inStream.read(buffer)) != -1) {
            fs.write(buffer, 0, byteRead);
        }
        inStream.close();
        fs.close();
    } catch (IOException | KeyManagementException | NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
}
support.huaweicloud.com/api-meeting/toctopics/zh-cn_topic_0000001107892998.html