文件(视频)上传到阿里云 java实现
生活随笔
收集整理的這篇文章主要介紹了
文件(视频)上传到阿里云 java实现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前臺(tái)使用postman進(jìn)行測(cè)試,因此我們只寫(xiě)后臺(tái)代碼,
postman請(qǐng)求發(fā)送格式如下:
接下來(lái)是后臺(tái)接收前臺(tái)請(qǐng)求的代碼,注意我為后臺(tái)請(qǐng)求的所有返回結(jié)果做了統(tǒng)一,相關(guān)鏈接在這https://blog.csdn.net/qq_42331202/article/details/115823134
package com.example.learn.controller;import com.example.learn.common.Result; import com.example.learn.utils.OSSUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID;/*** @author : wangbo* @version : 1.0* @date :Create in 2021/4/18* @description :*/ @RestController @RequestMapping("video") @Api(value = "視頻控制器") public class VideoController {SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy/MM/dd");@ApiOperation(value = "添加視頻")@PostMapping("/add")public Result add(MultipartFile multipartFile,HttpServletRequest request) {Map<String,Object> map=new HashMap<>();String originalFilename = multipartFile.getOriginalFilename();if(!originalFilename.endsWith(".mp4")){return Result.error().message("文件類(lèi)型不對(duì)");}String format = simpleDateFormat.format(new Date());System.out.println("format是:" + format);String newName = UUID.randomUUID().toString() + ".mp4";String objectName=format+newName;Result result = OSSUtils.createOSSClient(objectName, multipartFile);return result;}}接下來(lái)是阿里云工具類(lèi)的相關(guān)代碼:
package com.example.learn.utils;import com.aliyun.oss.ClientBuilderConfiguration; import com.aliyun.oss.HttpMethod; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.example.learn.common.Result; import org.springframework.web.multipart.MultipartFile;import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.net.URL; import java.util.Date; import java.util.HashMap; import java.util.Map;/*** @author : wangbo* @version : 1.0* @date :Create in 2021/4/18* @description :*/ public class OSSUtils {public static void main(String[] args) {}public static Result createOSSClient(String object_Name, MultipartFile multipartFile){Map<String,Object> map=new HashMap<>();String endpoint = "你的endpoint"; // 阿里云主賬號(hào)AccessKey擁有所有API的訪問(wèn)權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM賬號(hào)進(jìn)行API訪問(wèn)或日常運(yùn)維,請(qǐng)登錄RAM控制臺(tái)創(chuàng)建RAM賬號(hào)。String accessKeyId = "你的id";String accessKeySecret = "你的secret";String bucketName = "你的bucketName";// 創(chuàng)建OSSClient實(shí)例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);String objectName=object_Name;try {ossClient.putObject(bucketName, objectName, multipartFile.getInputStream());} catch (Exception e) {e.printStackTrace();}finally {Date expiredTime = new Date(System.currentTimeMillis() + 3600L * 1000L);URL url = ossClient.generatePresignedUrl(bucketName,objectName,expiredTime );map.put("url",url.toString());// 關(guān)閉OSSClient。ossClient.shutdown();return Result.ok().data(map);}} }如上便可完成對(duì)mp4格式的視頻進(jìn)行上傳~
總結(jié)
以上是生活随笔為你收集整理的文件(视频)上传到阿里云 java实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: html如何实现切换效果,纯CSS实现页
- 下一篇: 阵列信号处理 窄带信号与包络