Java UploadFile/image/2017/09/06/6364033056520606844826826.jpg获取文件名6364033056520606844826826.jpg
时间: 2023-07-09 13:51:20 浏览: 90
同样的,你可以使用Java中的File类的getName()方法来获取文件名。例如:
```java
String filePath = "UploadFile/image/2017/09/06/6364033056520606844826826.jpg";
int index = filePath.lastIndexOf("/");
String fileName = filePath.substring(index + 1);
System.out.println(fileName); // 输出 6364033056520606844826826.jpg
```
这个方法会返回文件的名称,如果文件不存在,则返回空字符串。如果您需要获取文件的完整路径名,请使用getPath()方法。
相关问题
Java UploadFile/image/2017/09/06/6364033056520606844826826.jpg获取文件名
### 回答1:
假设你的文件路径为 "UploadFile/image/2017/09/06/6364033056520606844826826.jpg",你可以使用Java中的File类的getName()方法来获取文件名。例如:
```java
File file = new File("UploadFile/image/2017/09/06/6364033056520606844826826.jpg");
String fileName = file.getName();
System.out.println(fileName); // 输出 6364033056520606844826826.jpg
```
如果你需要获取文件的完整路径名,可以使用getPath()方法。
### 回答2:
要获取Java中上传文件的文件名,可以使用以下代码:
第一步,获取文件路径:
String filePath = "UploadFile/image/2017/09/06/6364033056520606844826826.jpg";
第二步,通过文件路径获取文件名:
String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
上述代码中,通过使用substring()方法,获取文件路径中最后一个斜杠后的字符串,即为文件名。在substring()方法中,通过使用lastIndexOf("/")可以获得最后一个斜杠的位置,然后再加1,即可得到文件名。
最后,通过使用fileName变量,即可获取到上传文件的文件名。
先在后端创建文件上传的实体类uploadfile.java,包括文件名,上传日期,文件路径,上传人编号,然后创建uploadfileController,在其中写一个文件上传的api,然后在vue项目中的api文件夹下写一个uploadfile.js,用axios的方式调用后端的文件上传的api,名为upload_f,然后在vue项目的views文件夹下写一个uploadfile.vue,在uploadfile.vue里调用uploadfile.js中的upload_f实现文件上传
的功能。具体步骤如下:
1. 后端创建文件上传的实体类uploadfile.java,包括文件名,上传日期,文件路径,上传人编号等属性。
2. 创建uploadfileController,在其中写一个文件上传的api,实现文件上传的功能。可以使用Spring Boot中的MultipartFile来实现文件上传。
3. 在vue项目中的api文件夹下创建uploadfile.js,用axios的方式调用后端的文件上传的api,名为upload_f。可以使用FormData来构建文件上传的请求。
4. 在vue项目的views文件夹下创建uploadfile.vue,在uploadfile.vue里调用uploadfile.js中的upload_f实现文件上传的功能。可以使用el-upload组件来实现文件上传的界面。
5. 编写测试用例,测试文件上传的功能是否正常。
示例代码:
后端:
1. 实体类uploadfile.java
```java
package com.example.demo.entity;
import java.util.Date;
public class UploadFile {
private String fileName;
private Date uploadDate;
private String filePath;
private int uploaderId;
public UploadFile() {}
public UploadFile(String fileName, Date uploadDate, String filePath, int uploaderId) {
this.fileName = fileName;
this.uploadDate = uploadDate;
this.filePath = filePath;
this.uploaderId = uploaderId;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Date getUploadDate() {
return uploadDate;
}
public void setUploadDate(Date uploadDate) {
this.uploadDate = uploadDate;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
public int getUploaderId() {
return uploaderId;
}
public void setUploaderId(int uploaderId) {
this.uploaderId = uploaderId;
}
}
```
2. uploadfileController.java
```java
package com.example.demo.controller;
import com.example.demo.entity.UploadFile;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
@RestController
@RequestMapping("api")
public class UploadFileController {
@PostMapping("/uploadfile")
public String uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("uploaderId") int uploaderId) {
if (file.isEmpty()) {
return "上传失败,请选择文件";
}
String fileName = file.getOriginalFilename();
String filePath = "D:/upload/";
String dateStr = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
fileName = dateStr + "_" + fileName;
File dest = new File(filePath + fileName);
try {
file.transferTo(dest);
UploadFile uploadFile = new UploadFile(fileName, new Date(), dest.getAbsolutePath(), uploaderId);
// 保存上传记录
// save(uploadFile);
return "上传成功";
} catch (IOException e) {
e.printStackTrace();
}
return "上传失败!";
}
}
```
前端:
1. uploadfile.js
```javascript
import axios from 'axios'
export function upload_f(file, uploaderId) {
const formData = new FormData()
formData.append('file', file)
formData.append('uploaderId', uploaderId)
return axios.post('/api/uploadfile', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
```
2. uploadfile.vue
```html
<template>
<div>
<el-upload
class="upload-demo"
action=""
:on-change="handleChange"
:before-upload="beforeUpload"
:file-list="fileList"
:auto-upload="false"
:show-file-list="false"
:on-remove="handleRemove"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
</div>
</template>
<script>
import { upload_f } from '@/api/uploadfile.js'
export default {
name: 'UploadFile',
data() {
return {
fileList: []
}
},
methods: {
beforeUpload(file) {
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'
const isLt500K = file.size / 1024 < 500
if (!isJPG) {
this.$message.error('上传头像图片只能是 JPG/PNG 格式!')
}
if (!isLt500K) {
this.$message.error('上传头像图片大小不能超过 500KB!')
}
return isJPG && isLt500K
},
handleChange(file) {
const formData = new FormData()
formData.append('file', file.raw)
formData.append('uploaderId', 1) // 上传人的编号
upload_f(formData).then(res => {
console.log(res.data)
})
},
handleRemove(file) {
console.log(file, this.fileList)
}
}
}
</script>
```
3. 测试用例
略。
阅读全文