开发者社区> 问答> 正文

OSS如何上传到某个文件夹

// 上传文件
    private static void uploadFile(OSSClient client, String bucketName, String key, String filename)
            throws OSSException, ClientException, FileNotFoundException {
        File file = new File(filename);

        ObjectMetadata objectMeta = new ObjectMetadata();
        objectMeta.setContentLength(file.length());
        // 可以在metadata中标记文件类型
        objectMeta.setContentType("image/jpeg");

        InputStream input = new FileInputStream(file);
        client.putObject(bucketName, key, input, objectMeta);
    }
这个是上传API,但是是上传到根目录啊,如何上传到某个目录,如将图片123.jpg上传到/image/www/下面呢?


展开
收起
租乐机械网 2015-03-13 09:51:35 27649 0
5 条回答
写回答
取消 提交回答
  • https://help.aliyun.com/knowledge_detail/39630.html 其实说白了,就是你看到是有目录,其实在Bucket里,所有文件都是一个目录

    2020-06-09 19:58:17
    赞同 1 展开评论 打赏
  • https://help.aliyun.com/knowledge_detail/39630.html

    2020-05-29 19:54:23
    赞同 1 展开评论 打赏
  • ReOSS如何上传到某个文件夹
    上传文件的时候在key的值前面加上文件夹名,如String key = " IMAGE/logo.png";
    2015-09-09 15:23:53
    赞同 展开评论 打赏
  • ReOSS如何上传到某个文件夹
    不理解,你这段只是创建一个文件夹吧,并没有上传到文件夹中啊
    2015-06-03 11:18:17
    赞同 展开评论 打赏
  • ReOSS如何上传到某个文件夹
    哦,API文档好分散,终于自己找到了,自问自答吧!
    String bucketName = "your-bucket-name";
    //要创建的文件夹名称,在满足Object命名规则的情况下以"/"结尾
    String objectName = "folder_name/";
    OSSClient client = new OSSClient(OSS_ENDPOINT, ACCESS_ID, ACCESS_KEY);
    ObjectMetadata objectMeta = new ObjectMetadata();
    /*这里的size为0,注意OSS本身没有文件夹的概念,这里创建的文件夹本质上是一个size为0的Object,dataStream仍然可以有数据
    */
    byte[] buffer = new byte[0];
    ByteArrayInputStream in = new ByteArrayInputStream(buffer);  
    objectMeta.setContentLength(0);
    try {
        client.putObject(bucketName, objectName, in, objectMeta);
    } finally {
        in.close();
    }



    2015-03-13 10:09:01
    赞同 3 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载