.build(); // 构建GetPresignedObjectUrlArgs对象,用于指定获取预签名URL的参数 GetPresignedObjectUrlArgs arg = GetPresignedObjectUrlArgs.builder() .method(Method.GET) // 设置请求方法为GET .bucket(bucketName) // 设置存储桶名称 .object(targetName) // 设置对象名称 .expiry(expires) // 设置URL的有效期...
String targetAddress = nginxConfig.getProtocol() + "://" + nginxConfig.getEndpoint() + ":" + nginxConfig.getPort() + "/" + minioConfig.getNginxLoadUrl(); url = url.replace(sourceAddress,targetAddress); } return url; } /** * 生成一个给HTTP PUT请求用的presigned URL。 * 浏览器/...
在内网连接 MinIO 时我们使用的是内网 IP,这导致使用 PresignedPutObject或generatePresignedUrl 生成的 分享URL 也是内网 IP,外网不能直接访问。 解决方法:1.生成签名的url转换成外网监听的IP和端口 2.这个时候对此处的11000端口的nginx配置要设置为不携带HOST模式!!! 这样就解决了外网访问签名不对的问题 参考说明:h...
String targetAddress= nginxConfig.getProtocol() + "://" + nginxConfig.getEndpoint() + ":" + nginxConfig.getPort() + "/" +minioConfig.getNginxLoadUrl(); url=url.replace(sourceAddress,targetAddress); }returnurl; }/*** 生成一个给HTTP PUT请求用的presigned URL。 * 浏览器/移动端的客户...
String url = minioClient.getPresignedObjectUrl(build); return url; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 文件下载 * @param fileName 文件名称 * @param res response * @return Boolean */ public void download(String fileName, HttpServletResponse res) { ...
}//获取下载文件的url,直接点击该url即可在浏览器中下载文件Stringurl=minioClient.presignedGetObject("ota","hello.txt");log.info(url);//获取上传文件的url,这个url可以用Postman工具测试,在body里放入需要上传的文件即可Stringurl2=minioClient.presignedPutObject("ota","ubuntu.tar");log.info(url2);// ...
目前我已经通过一台公网服务器的nginx可以将请求转发到内网的minio上,现在只要生成临时链接则万事俱备,但是minio-java这个包提供的生成临时文件的方法getPresignedObjectUrl只能根据当前的MinioClient对象生成,按照我的条件地址是内网地址,且无法修改(因为链接进行了签名),所以要在签名前调整链接中的信息才能做到自定义域名。
把Nginx代理ip和端口号或者minIO集群中任意节点的ip和端口号输入浏览器,输入minIO的账户名和密码即可登录,界面如下: 2.具体交互逻辑 首先,客户端要请求业务服务器(WebServer/APIServer)获取上传文件的凭证(presignedURL),然后,业务服务器响应一个上传文件URL和下载文件的URL,客户端使用上传URL上传文件到文件服务器,使用...
MinIo # 拉镜像 docker pull minio/minio # 启动镜像 docker run -p 9000:9000 --name cxyMinio -...
private String nginxUrl; } 上传文件工具类 package com.sqm.minio_demo.util; import cn.hutool.core.date.DateUtil; import com.sqm.minio_demo.config.MinioProperties; import com.sqm.minio_demo.entity.UploadResponse; import io.minio.*; import io.minio.errors.*; ...