String fileName = uuid + getFileTypeName(initFileName);
时间: 2024-01-20 13:02:35 浏览: 28
这段代码将通过 UUID 类生成的唯一随机字符串 uuid 和上传文件的扩展名组合成一个新的文件名 fileName。其中 getFileTypeName(initFileName) 方法用于获取上传文件的扩展名,将其与 uuid 相结合即可得到一个全新的文件名。该文件名通常会用于存储上传文件,以保证不同用户上传的文件名不会重复。
相关问题
String initFileName = ""; if (!checkFileType()) { throw new Exception( "????????????????????????????????????????jpg, gif, png, jpeg????"); } try { for (FileItem item : items) { if (!item.isFormField()&&!item.getName().isEmpty()) { initFileName = item.getName().toLowerCase(); String uuid = UUID.randomUUID().toString(); String fileName = uuid + getFileTypeName(initFileName); String filePath = serverPath + uploadPath + fileName; item.write(new File(filePath)); paths.add(fileName); } } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); throw new Exception("?????????????" + initFileName + "??????????????С" + sizeMax + "M??"); } return paths;
这段代码是关于文件上传的,其中使用了 Apache 的文件上传组件 FileUpload。首先会检查文件类型是否符合要求,若不符合则抛出异常。然后循环遍历上传的文件,如果该文件不是表单字段且文件名不为空,则生成一个随机的文件名并将文件保存到服务器上指定的路径中。最后将生成的文件名添加到路径列表中并返回。如果在保存过程中出现异常,则会打印异常信息并抛出一个新的异常。
//上传头像到oss @Override public String uploadFileAvatar(MultipartFile file) { String endpoint = ConstantPropertiesUtils.END_POINT; // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID; String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET; // 填写Bucket名称,例如examplebucket。 String bucketName = ConstantPropertiesUtils.BUCKET_NAME; System.err.println(endpoint); System.err.println(accessKeyId); System.err.println(accessKeySecret); System.err.println(bucketName); try { OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); InputStream inputStream = file.getInputStream(); String fileName = file.getOriginalFilename(); String uuid = UUID.randomUUID().toString().replaceAll("-", ""); fileName=uuid+fileName; String dataPath = new DateTime().toString("yyyy-MM-dd"); fileName=dataPath+"/"+fileName; ossClient.putObject(bucketName, fileName, inputStream); ossClient.shutdown(); String url = "https://" + bucketName + "." + endpoint + "/" + fileName; return url; } catch (Exception e) { e.printStackTrace(); return null; } }
根据您提供的代码,我看到您使用了Spring框架的MultipartFile接口来处理上传的文件。但是,您并没有提供从前端获取MultipartFile的代码,因此很难确定您遇到的问题所在。
如果您的问题是无法从前端获取MultipartFile,请确保您的前端代码中包含了正确的文件上传表单,并且将文件类型设置为multipart/form-data。另外,您可以在Controller中使用@RequestParam注解来接收上传的文件,例如:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
// 处理上传的文件
}
```
如果您的问题是MultipartFile无法上传到OSS,请确保您的OSS配置是正确的,特别是访问密钥和终端节点。另外,还需要确保MultipartFile的内容不为空,否则无法上传到OSS。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)