西安营销网站,化妆品电商网站模板,网站制作的前期主要是做好什么工作,深圳好的网站制作哪家快Java系列文章目录 文章目录 Java系列文章目录一、前言二、学习内容#xff1a;三、问题描述四、解决方案#xff1a;4.1 新建空间4.2 查找密钥4.3 进入开发者中心查找JavaSDK文档4.4 查找文件上传方法4.5 运行测试 五、总结#xff1a;5.1 学习总结#xff1a; 一、前言
学…Java系列文章目录 文章目录 Java系列文章目录一、前言二、学习内容三、问题描述四、解决方案4.1 新建空间4.2 查找密钥4.3 进入开发者中心查找JavaSDK文档4.4 查找文件上传方法4.5 运行测试 五、总结5.1 学习总结 一、前言
学习七牛云的使用
二、学习内容
七牛云使用步骤 三、问题描述
七牛云文档使用 四、解决方案
4.1 新建空间 4.2 查找密钥 4.3 进入开发者中心查找JavaSDK文档 4.4 查找文件上传方法 其他使用方法类似 注意引入相关依赖 参考代码
//构造一个带指定 Region 对象的配置类
Configuration cfg new Configuration(Region.region0());
cfg.resumableUploadAPIVersion Configuration.ResumableUploadAPIVersion.V2;// 指定分片上传版本
//...其他参数参考类注释UploadManager uploadManager new UploadManager(cfg);
//...生成上传凭证然后准备上传
String accessKey your access key;
String secretKey your secret key;
String bucket your bucket name;
//如果是Windows情况下格式是 D:\\qiniu\\test.png
String localFilePath /home/qiniu/test.png;
//默认不指定key的情况下以文件内容的hash值作为文件名
String key null;Auth auth Auth.create(accessKey, secretKey);
String upToken auth.uploadToken(bucket);try {Response response uploadManager.put(localFilePath, key, upToken);//解析上传成功的结果DefaultPutRet putRet new Gson().fromJson(response.bodyString(), DefaultPutRet.class);System.out.println(putRet.key);System.out.println(putRet.hash);
} catch (QiniuException ex) {ex.printStackTrace();if (ex.response ! null) {System.err.println(ex.response);try {String body ex.response.toString();System.err.println(body);} catch (Exception ignored) {}}
}4.5 运行测试
输入地址localhost:8080/doc.html打开文档运行后上传测试如果成功进入空间即可查看 使用knif4j测试 五、总结
5.1 学习总结
有很多传递方法 第一种方法 //构造一个带指定 Region 对象的配置类Configuration cfg new Configuration(Region.region0());cfg.resumableUploadAPIVersion Configuration.ResumableUploadAPIVersion.V2;// 指定分片上传版本
//...其他参数参考类注释UploadManager uploadManager new UploadManager(cfg);
//...生成上传凭证然后准备上传String accessKey ;String secretKey ;String bucket ;// 设置上传的存储区域//默认不指定key的情况下以文件内容的hash值作为文件名String key null;LocalDate now LocalDate.now();DateTimeFormatter formatter DateTimeFormatter.ofPattern(yyyyMMdd);String format now.format(formatter);String originalFilename file.getOriginalFilename();String extend originalFilename.substring(originalFilename.lastIndexOf(.));String fileName format UUID.randomUUID().toString().replace(-,) extend;try {InputStream inputStream file.getInputStream();Auth auth Auth.create(accessKey, secretKey);String upToken auth.uploadToken(bucket);try {Response response uploadManager.put(inputStream, fileName, upToken,null,null);//解析上传成功的结果DefaultPutRet putRet JSON.parseObject(response.bodyString(),DefaultPutRet.class);System.out.println(http://scw897cq.hd-bkt.clouddn.com/putRet.key);//如果putRet.key的值是example.jpg那么输出的URL将是http://scw897cq.hd-bkt.clouddn.com/example.jpg。你可以通过这个URL在浏览器或其他客户端直接访问或下载这个文件。System.out.println(putRet.hash);} catch (QiniuException ex) {ex.printStackTrace();if (ex.response ! null) {System.err.println(ex.response);try {String body ex.response.toString();System.err.println(body);} catch (Exception ignored) {}}}} catch (UnsupportedEncodingException ex) {//ignore}return success;}文档中的方法
//构造一个带指定 Region 对象的配置类
Configuration cfg new Configuration(Region.region0());
cfg.resumableUploadAPIVersion Configuration.ResumableUploadAPIVersion.V2;// 指定分片上传版本
//...其他参数参考类注释UploadManager uploadManager new UploadManager(cfg);
//...生成上传凭证然后准备上传
String accessKey your access key;
String secretKey your secret key;
String bucket your bucket name;
//如果是Windows情况下格式是 D:\\qiniu\\test.png
String localFilePath /home/qiniu/test.png;
//默认不指定key的情况下以文件内容的hash值作为文件名
String key null;Auth auth Auth.create(accessKey, secretKey);
String upToken auth.uploadToken(bucket);try {Response response uploadManager.put(localFilePath, key, upToken);//解析上传成功的结果DefaultPutRet putRet new Gson().fromJson(response.bodyString(), DefaultPutRet.class);System.out.println(putRet.key);System.out.println(putRet.hash);
} catch (QiniuException ex) {ex.printStackTrace();if (ex.response ! null) {System.err.println(ex.response);try {String body ex.response.toString();System.err.println(body);} catch (Exception ignored) {}}
}区别如下 文件来源:
第一段代码使用MultipartFile接口从HTTP请求中获取文件这通常是在Web应用中接收前端上传的文件的方式。第二段代码直接使用本地文件路径localFilePath来指定要上传的文件这种方式适用于上传本地文件系统中的文件。
文件处理方式:
第一段代码中文件被转换为InputStream并通过file.getInputStream()获取输入流。第二段代码中直接使用文件路径localFilePath来上传文件。
JSON 解析库:
第一段代码使用com.alibaba.fastjson2.JSON来解析响应体。第二段代码使用com.google.gson.Gson来解析响应体。
文件名生成:
第一段代码根据当前日期和随机UUID生成文件名并保留原始文件扩展名。第二段代码没有显示文件名生成逻辑而是使用默认行为即如果未指定key则使用文件内容的哈希值作为文件名。 注意引入依赖 参考依赖
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.qiniu/groupIdartifactIdqiniu-java-sdk/artifactIdversion[7.13.0, 7.13.99]/version/dependency!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 --dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactIdversion2.0.49/version/dependencydependencygroupIdcom.google.code.gson/groupIdartifactIdgson/artifactIdversion2.8.9/version/dependencydependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactIdversion4.4.0/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency
/dependencies声明如本内容中存在错误或不准确之处欢迎指正。转载时请注明原作者信息麻辣香蝈蝈。