dromara / x-file-storage

一行代码将文件存储到 本地、FTP、SFTP、WebDAV、谷歌云存储、阿里云OSS、华为云OBS、七牛云Kodo、腾讯云COS、百度云 BOS、又拍云USS、MinIO、 AWS S3、FastDFS、 Azure Blob Storage、金山云 KS3、美团云 MSS、京东云 OSS、天翼云 OOS、移动云 EOS、沃云 OSS、 网易数帆 NOS、Ucloud US3、青云 QingStor、平安云 OBS、首云 OSS、IBM COS、其它兼容 S3 协议的平台。后续即将支持 Samba、NFS
https://x-file-storage.xuyanwu.cn/
Apache License 2.0
1.68k stars 260 forks source link

七牛云获取地址 #272

Closed baklpc closed 2 months ago

baklpc commented 2 months ago
@Override
    public GeneratePresignedUrlResult generatePresignedUrl(GeneratePresignedUrlPretreatment pre) {
        try {
            if (Constant.GeneratePresignedUrl.Method.GET.equalsIgnoreCase(String.valueOf(pre.getMethod()))) {
                throw new FileStorageRuntimeException("七牛云 Kode 仅支持 GET ,如需支持更多功能,可以通过 AWS S3 的 SDK 来使用");
            }
            String fileKey = getFileKey(new FileInfo(basePath, pre.getPath(), pre.getFilename()));
            int deadline = (int) (pre.getExpiration().getTime() / 1000);
            String url = getClient().getAuth().privateDownloadUrlWithDeadline(domain + fileKey, deadline);
            GeneratePresignedUrlResult result = new GeneratePresignedUrlResult(platform, basePath, pre);
            result.setUrl(url);
            result.setHeaders(new HashMap<>());
            return result;
        } catch (Exception e) {
            throw ExceptionFactory.generatePresignedUrl(pre, e);
        }
    }

这个if是不是有问题?仅支持GET,然后传GET就抛异常?还是用的姿势有问题

1171736840 commented 2 months ago

是的,条件写反了,可以先用快照版本,把版本号改为 2.2.1-SNAPSHOT 刚发布,可能要过会才能同步