《《《《《《《《《对oss操作,上传文件》》》》》》》》》》》》》》
第一步 导入maven依赖
  1. <dependency>
  2. <groupId>com.aliyun.oss</groupId>
  3. <artifactId>aliyun-sdk-oss</artifactId>
  4. <version>2.8.3</version>
  5. </dependency>

第二步 使用文件流上传

jsp代码:上传文件的请求模式我用的是angularjs

<body ng-controller="testController">
<div style="margin: 100px 100px;">
<input id="fileUpload" type="file" />
<button ng-click="uploadFile()">上传</button>
<button ng-click="getBucket()">获取bucket信息</button>
<ol>
<li ng-repeat="fileName in fileNameList" style="margin-top:10px;">
<a href="" ng-bind="fileName" ng-click="downFile(fileName)"></a>
</li> </ol> </div> <!-- floor -->
<div th:include="/common/floor :: commonOnLoadJs"></div>
<script>
angular.module('testApp', ['ng-layer']).controller('testController', function ($scope, layer, $http) { //上传文件
$scope.uploadFile = function(){
var form = new FormData();
var file = document.getElementById("fileUpload").files[0];
form.append('file', file);
$http({
method: 'POST',
url: '/jz-project/testController/testUpload',
data: form,
headers: {'Content-Type': undefined},
transformRequest: angular.identity
}).success(function (data) {
console.log('upload success');
}).error(function (data) {
console.log('upload fail');
})
} //获取文件列表
$scope.getBucket = function(){
$http.post("/jz-project/testController/getBucket").success(function(result) {
console.log(2);
console.log(result);
$scope.fileNameList = result.data;
});
} //下载文件
$scope.downFile = function (fileName) {
// alert(fileName);
          //注意下载文件不能使用post提交,后台会返回输出流对象,post返回的数据浏览器没法解析弹出下载框
          //还会报错:getOutputStream() has already been called for this response
window.location.href = "testController/downFile?fileName="+fileName;
// $http.post("/jz-project/testController/downFile", fileName).success(function(result) {
// console.log(2);
// console.log(result);
// getBucket();
// });
} })
</script> </body>

controller代码

/**
* @Description: 上传文件到oss
* @auther: zrt
* @date: 2018/9/5 15:15
*/
@RequestMapping(value = "/testUpload", method = RequestMethod.POST,produces={"application/json;charset=UTF-8"})
@ResponseBody
public ResultBase<String> testUpload(@RequestParam(value = "file" , required = true) MultipartFile file) {
log.info("开始上传文件");
ResultBase<String> rb = new ResultBase<String>(); log.info("文件名:"+file.getOriginalFilename()); //上传到oss
if(file != null){
OssTestUtil.ossUploadFileStream(file);
} rb.setCode(0);
rb.setData("");
return rb;
}
       

自己封装的OssTestUtil工具

/**
* @Description: 文件流上传oss
* @auther: zrt
* @date: 2018/9/5 15:19
*/
public static void ossUploadFileStream(MultipartFile file){ // Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = ENDPOINT;
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = ACCESS_KEYID;
String accessKeySecret = ACCESS_KEY_SECRET;
// 创建OSSClient实例。
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 上传文件流。
// InputStream inputStream = null;
try {
//三个参数,1、bucket的名称,2、文件名称、3、文件输入流
PutObjectResult por = ossClient.putObject("zrt888888", file.getOriginalFilename(), file.getInputStream()); } catch (IOException e) {
e.printStackTrace();
} // 关闭OSSClient。
ossClient.shutdown(); }

最后页面显示:

  》》》》》》》》》》》》》》下面的实在是懒得写的》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

我还是把代码直接保存百度云吧

oss上传和下载的笔记的更多相关文章

  1. SpringBoot整合阿里云OSS文件上传、下载、查看、删除

    1. 开发前准备 1.1 前置知识 java基础以及SpringBoot简单基础知识即可. 1.2 环境参数 开发工具:IDEA 基础环境:Maven+JDK8 所用技术:SpringBoot.lom ...

  2. Spring框架学习笔记(7)——Spring Boot 实现上传和下载

    最近忙着都没时间写博客了,做了个项目,实现了下载功能,没用到上传,写这篇文章也是顺便参考学习了如何实现上传,上传和下载做一篇笔记吧 下载 主要有下面的两种方式: 通过ResponseEntity实现 ...

  3. Linux学习笔记:使用ftp命令上传和下载文件

    Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹.虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器.SSH.远程会话中掌握命令行ftp的使用 ...

  4. Java精选笔记_文件上传与下载

    文件上传与下载 如何实现文件上传 在Web应用中,由于大多数文件的上传都是通过表单的形式提交给服务器的,因此,要想在程序中实现文件上传的功能,首先得创建一个用于提交上传文件的表单页面. 为了使Serv ...

  5. linux命令学习笔记(26):用SecureCRT来上传和下载文件

    用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...

  6. Javaweb学习笔记10—文件上传与下载

    今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容.       ...

  7. 利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!

    利用SecureCRT上传.下载文件(使用sz与rz命令),超实用! 文章来源:http://blog.csdn.net/dongqinliuzi/article/details/39623169 借 ...

  8. 关于 tp5.0 阿里云 oss 上传文件操作

    tp5.0 结合阿里云oss 上传文件 1.引入 oss 的空间( composer install 跑下第三方拓展包及核心代码包) 备注:本地测试无误,放到线上有问题  应该是移动后的路劲(相对于服 ...

  9. 七牛云存储 qiniu 域名 回收 文件上传 备份 下载 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

随机推荐

  1. Java 8 新特性:2-消费者(Consumer)接口

    (原) 在上一篇,用到过这样一个方法: list.forEach(new Consumer<Integer>() { @Override public void accept(Intege ...

  2. cents上运行wget报错:unable to resolve host address

    wget命令报错.无法解析域名"www.keepalived.rog" [vagrant@RS1 download]$ wget http://www.keepalived.org ...

  3. 笔记-Android中打开各种格式的文件(apk、word、excel、ppt、pdf、音视频、图片等)

    打开后缀.apk的文件.即启动安装程序. //apkFilePath 文件路径 public void installAPK(String apkFilePath) { // 创建URI Uri ur ...

  4. centos7下部署mysql主从复制

    首先大致看一下这个图 环境说明: 系统:centos7 IP:master:192.168.7.235 slave:192.168.7.226 mysql版本MySQL-5.7 1.Master 下载 ...

  5. 001_自定义过滤及添加文件内容脚本(nginx)

    一.工作中遇到sed添加及修改在nginx末尾添加太麻烦了 需求:随意查找添加一条以前不存在的内容加到"}"前一行 实现: #!/usr/bin/env python # codi ...

  6. face detection[Face R-FCN]

    本文来自<Detecting Faces Using Region-based Fully Convolutional Networks>,又是腾讯ai实验室的作品.时间线为2017年9月 ...

  7. RabbitMQ详解(三)------RabbitMQ的五种队列

    上一篇博客我们介绍了RabbitMQ消息通信中的一些基本概念,这篇博客我们介绍 RabbitMQ 的五种工作模式,这也是实际使用RabbitMQ需要重点关注的. 这里是RabbitMQ 官网中的相关介 ...

  8. odoo常用widget

      widget=”statusbar” 头部状态条标签widget=”email” 电子邮件地址标签widget=”selection” 下拉选择标签widget=”mail_followers” ...

  9. 【php增删改查实例】第二十二节 - 引入百度地图

    20.用户新增地址字段 在实际的开发中,经常会出现对数据表新增或者修改字段的事情,所以,当用户提出加字段的需求时,我们的页面以及后台程序都要进行相应的改动. 本节就以增加一个地址字段为例. 打开nav ...

  10. A2D JS框架 - AOP封装

    AOP在js中的实现,先看看用法吧: var A2D = $.noConflict();//不要误会,此乃我自己写的A2D框架,非jQuery function fn1(name, age) { co ...