文件的上传

本地存储

@Slf4j
@RestController
public class UploadController {
    @PostMapping("/upload")
    public Result upload(String username, Integer age, MultipartFile image) throws IOException {  //在最后一个是用来接收文件的
     log.info("文件上传 :{},{},{}",username,age,image);
     //获取原始文件名
        String originalFilename=image.getOriginalFilename();
        //使用原始文件名缺点:如果有两张一样名字的文件名,后面上传的就会覆盖前面上传的,所以需要让每个文件名都是唯一的
        //构造唯一的文件名(不能重复)--uuid(通用唯一识别码)
        int index=originalFilename.lastIndexOf(".");//获取扩展名
        String extname=originalFilename.substring(index);
        String newFileName= UUID.randomUUID().toString()+extname;
        log.info("新的文件名:{}",newFileName);
     //将文件存储在服务器的磁盘目录中 E:\images
image.transferTo(new File("E:\\images\\" + newFileName));
     return Result.success();
    }

UUID

避免文件名重复覆盖文件的情况

生成她的示例代码:

@Test
public void testUuid(){
	for (int i = 0; i < 100; i++) {
		String uuid=UUID.randomUUID().toString();
		System.out.println(uuid);
	}

文件过大 

 

阿里云OSS 

阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。

您可以进行以下操作:

  • 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。

  • 通过获取已上传文件的地址进行文件的分享和下载。

  • 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。

  • 在阿里云管理控制台执行基本和高级OSS任务。

  • 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务

SDK:软件开发工具包,包括辅助软件开发包的依赖(jar)包,代码示例等。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值