上传/删除文件到七牛云存储服务

目录

一、七牛云入门测试

1、注册七牛云账号,完成后选择对象存储

2.在里面创建空间,一个空间相当于一个文件夹,就是将对象上传到的地方

 3、查看个人秘钥,注册完成账号后,会有一个秘钥,上传文件的时候进行授权和认证。

二、文件上传测试

三、文件删除测试:


一、七牛云入门测试
1、注册七牛云账号,完成后选择对象存储

2.在里面创建空间,一个空间相当于一个文件夹,就是将对象上传到的地方

 

 3、查看个人秘钥,注册完成账号后,会有一个秘钥,上传文件的时候进行授权和认证。

二、文件上传测试

进入七牛云开发者中心

 导入坐标:

<!--导入七牛云需要坐标-->
            <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>7.2.25</version>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>3.14.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>happy-dns-java</artifactId>
            <version>0.1.6</version>
            <scope>test</scope>
        </dependency>

 文件上传:

UserConter:


@Controller
public class UserController {
 
    //进入测试页面
    @RequestMapping("/show")
    public String show(){
        return "index";
    }
 
    //文件上传
    @RequestMapping("/fileupload")
    public String fileupload(String uname, MultipartFile upic, HttpServletRequest request){
        System.out.println("用户名:"+uname);
        System.out.println(upic);
        System.out.println(upic.getOriginalFilename());
        System.out.println(upic.getName());
 
 
//        方式1.将文件upic以流的方式写入当前服务器磁盘(应用服务器)
//        方式2.文件服务器(七牛云)
//        构造一个带指定 Region 对象的配置类
        Configuration cfg = new Configuration(Region.autoRegion());
        //...其他参数参考类注释
        UploadManager uploadManager = new UploadManager(cfg);
        //...生成上传凭证,然后准备上传
        String accessKey = "HURQbCScsb6FUTMzlKsWLh5kWMO-rznq-FyfnWb-";
        String secretKey = "OpcrtNSw_6dZpt7zgCHz_C11o9QLxX1A6d4Az0nh";
        String bucket = "ztiantian";
        //默认不指定key的情况下,以文件内容的hash值作为文件名
        String key = null;
        String name = null;
 
        try {
            byte[] uploadBytes = upic.getBytes();
            Auth auth = Auth.create(accessKey, secretKey);
            String upToken = auth.uploadToken(bucket);
 
            try {
                Response response = uploadManager.put(uploadBytes, key, upToken);
                //解析上传成功的结果
                DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
                System.out.println(putRet.key);//获取文件名
                System.out.println(putRet.hash);//获取文件hash值
                name = putRet.key;
            } catch (QiniuException ex) {
                Response r = ex.response;
                System.err.println(r.toString());
                try {
                    System.err.println(r.bodyString());
                } catch (QiniuException ex2) {
                    //ignore
                }
            }
        } catch (Exception ex) {
            //ignore
        }
        request.getSession().setAttribute("picname",name);
 
        return "success"; 
 
    }
 
}

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>
    文件上传:
    <ol>
        <li>坐标</li>
        <li>制作页面-form表单编码</li>
        <li>通过*****接受文件</li>
    </ol>
    <hr/>
    <form action="fileupload" method="post" enctype="multipart/form-data">
        用户名:<input name="uname"/><br/>
        图片:<input name="upic" type="file"/><br/>
        <input type="submit" value="上传"/>
    </form>
 
 
</body>
</html>

 测试结果:

跳转成功页面

在七牛云文件管理中刷新查看:

查看详情: 

三、文件删除测试:

UserController:

@Controller
public class UserController {

    //进入测试页面
    @RequestMapping("/show")
    public String show(){
        return "delete";
    }

    //文件上传
    @RequestMapping("/filedeleteload")
    public String fileupload(String uname, MultipartFile upic, HttpServletRequest request){
        System.out.println("用户名:"+uname);
        System.out.println(upic);
        System.out.println(upic.getOriginalFilename());
        System.out.println(upic.getName());


//        //方式1.将文件upic以流的方式写入当前服务器磁盘(应用服务器)
//        //方式2.文件服务器(七牛云)
//        //构造一个带指定 Region 对象的配置类
        //构造一个带指定 Region 对象的配置类
        Configuration cfg = new Configuration(Region.region0());
//...其他参数参考类注释

        String accessKey = "7tIQFZHzpSykkNeXOqjc1fD7_7BbVtV4h_L6qHsy";
        String secretKey = "vglGxwOz1SuuZlMzqLI-N_SA9fTs_CCINwt6tU70";
        String bucket = "zadwork";
        String key = "FlzSGnXVMcVle-BtsCCDp_hlPWcd";//七牛云中保存的文件名

        Auth auth = Auth.create(accessKey, secretKey);
        BucketManager bucketManager = new BucketManager(auth, cfg);
        try {
            bucketManager.delete(bucket, key);
        } catch (QiniuException ex) {
            //如果遇到异常,说明删除失败
            System.err.println(ex.code());
            System.err.println(ex.response.toString());
        }

//        request.getSession().setAttribute("picname",name);

        return "success";
    }
}

delete.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<hr/>

文件删除:

<form action="filedeleteload" method="post" enctype="multipart/form-data">
    用户名:<input name="uname"/><br/>
    图片:<input name="upic" type="file"/><br/>
    <input type="submit" value="删除"/>
</form>

</body>
</html>

 测试结果:

再次刷新查看:已经删除成功

Vue 七牛云存储仿网盘,是利用Vue框架和七牛云存储服务实现的一个类似网盘的应用。这个应用主要的功能是用户可以上传、下载、管理、分享自己的文件。 首先,用户需要通过注册登录功能来创建自己的账户,以便能够使用应用的各项功能。注册过程中,用户可以选择是否绑定自己的七牛云存储账户,以便更好地使用七牛云存储服务。 登录后,用户可以创建文件夹来组织自己的文件。在文件夹中,用户可以上传各种类型的文件,并为文件添加描述信息。文件会通过七牛云存储服务进行上传,确保文件的安全性和可靠性。 用户可以通过文件列表查看自己上传文件,并进行简单的文件操作,如重命名、删除等。用户还可以通过搜索功能快速找到自己需要的文件。 为了方便用户之间的文件分享,应用还提供了分享功能。用户可以选择分享自己的文件给其他用户或生成外链,其他用户可以通过链接访问和下载共享的文件。 此外,应用也提供了丰富的界面交互和用户体验优化,比如拖拽上传文件预览、文件夹树状结构等。 总之,Vue 七牛云存储仿网盘是一个基于Vue框架和七牛云存储服务开发的功能齐全、操作简便的文件管理和分享应用。它充分利用了Vue框架的灵活性和七牛云存储服务的可靠性,为用户提供了便捷的文件管理和分享体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值