阿里云上传更改配置参数

1.bucket变更

项目根据需求更改了bucket,endPoint  是bucket的区域,若区域改变,则endPoint  一定要变。

String endPoint = "oss-cn-beijing.aliyuncs.com";
oss-cn-beijing 是bucket的区域 ,

endPoint  是创建 OSSClient  填的第一个参数

OSSClient client = new OSSClient(endPoint, KEY_ID, KEY_SECRET);

2.上传到指定目录
 

文件在后端上传:一开始使用的是oss的 uploadFile(MultipartFile file) 函数

public String uploadFile(MultipartFile file) throws IOException {
    if (file == null) return "";
    //name获取的是上传文件的原始名称
    String name = file.getOriginalFilename();
    // 变成了存储路径了 【路径是以年月日为目录的】
    String objectName = getName(name);
    log.error("uploadFile--objectName:"+objectName);
    OSSClient client = getClient();
    PutObjectResult result = getClient().putObject(BUCKET, objectName, file.getInputStream());
    client.shutdown();
    return objectName;
}

    private String getName(String name) {
        String suffix = name.substring(name.lastIndexOf("."));
        String finalFileName = System.currentTimeMillis() + suffix;
        String objectName = getDir() + finalFileName;
        return objectName;
    }

    private String getDir() {
        Calendar calendar = Calendar.getInstance();
        return calendar.get(Calendar.YEAR) + "/" + (calendar.get(Calendar.MONTH) + 1) + "/" + calendar.get(Calendar.DATE) + "/";
    }

所以想要上传的文件保存到指定目录,需要自己重写方法:

现在的需求是: 上传一张图片或pdf要上传到 你输入指定的目录下

比如:我上传的图片要上传的 测试目录下: 路径为:/word/测试/

word为上一级目录,所有上传的文件都要在此目录下

 
    public String uploadWordFile(MultipartFile file,String wordName) throws IOException {
        if (file == null) return "";
 
        String name = file.getOriginalFilename();
      
        String objectName = getWordName(name,wordName);
      
        OSSClient client = getClient();
        PutObjectResult result = getClient().putObject(BUCKET, objectName, file.getInputStream());
        client.shutdown();
        return objectName;
    }




    private String getWordName(String name,String wordName) {

        String objectName = getWordDir(wordName) + name;
        return objectName;
    }

    private String getWordDir(String wordName) {

        return "word/"+wordName+"/";
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值