//获取文件名字后缀 let file_ext = file.originalname.subString(file.originalname.lastIndexOf(".") + 1)
时间: 2024-04-12 22:29:45 浏览: 186
你可以使用JavaScript中的`substring`和`lastIndexOf`方法来获取文件名的后缀。请注意,你的代码中有个小错误,应该是`substring`而不是`subString`。修正后的代码如下:
```javascript
let file_ext = file.originalname.substring(file.originalname.lastIndexOf(".") + 1);
```
这段代码将返回文件名的后缀,例如,如果文件名是"example.jpg",那么`file_ext`的值将是"jpg"。
相关问题
public ResultInfo uploadFile(MultipartFile[] upfile, String duanyu, Integer taskId, Integer pointId, Integer testContentId, Integer detailId, Integer qual, Integer noValidateType, Double longitude, Double latitude, Integer userId) { ResultInfo info = new ResultInfo(); String originalName = upfile.getOriginalFilename();// 上传文件名 String type = originalName.substring(originalName.lastIndexOf('.') + 1); // 文件类型 long size = upfile.getSize();// 文件大小 // 判断文件格式是否满足条件 if (noValidateType == 0 && !checkFileType(originalName)) { info.setCodeAndMsg(606030); return info; }如何修改这段代码
这段代码是处理文件上传的逻辑,其中的参数和方法实现细节并不清楚,如果要修改这段代码,需要先了解具体的业务需求和实现细节。
如果你需要修改上述代码的话,可能需要修改的部分是checkFileType方法,以满足你的业务需求。此外,可能还需要对上传文件的大小进行限制或者增加其他的上传文件格式判断规则等等。
具体的修改方案需要根据你的实际需求进行定制,建议先仔细了解具体的业务需求和实现细节,再进行代码的修改。
ueditor 图片上传 java_Spring+Vue整合UEditor富文本实现图片附件上传的方法
在Spring中实现UEditor图片上传可以参考以下步骤:
1. 在前端Vue代码中配置UEditor富文本编辑器,并对上传图片做出相关设置。
2. 在Spring后端代码中编写图片上传的控制器,处理前端传递的图片文件信息。
3. 在Spring配置文件中配置文件上传的相关参数。
下面是具体的实现方法:
1. 前端代码:
在Vue组件中引入UEditor富文本编辑器,可以使用UEditor官网提供的Vue UEditor Wrapper组件。并在UEditor配置项中设置上传图片的相关参数,如下所示:
```
<template>
<div>
<vue-ueditor-wrap
v-model="content"
:config="ueditorConfig"
:z-index="100"
></vue-ueditor-wrap>
</div>
</template>
<script>
import VueUeditorWrap from 'vue-ueditor-wrap';
export default {
components: {
VueUeditorWrap
},
data () {
return {
content: '',
ueditorConfig: {
UEDITOR_HOME_URL: '/static/UEditor/',
serverUrl: '/api/upload',
maximumWords: 50000,
initialFrameWidth: '100%',
initialFrameHeight: 500,
autoHeightEnabled: false,
autoFloatEnabled: false,
toolbars: [
['source', 'bold', 'italic', 'underline', 'strikethrough', 'removeformat',
'formatmatch', 'forecolor', 'backcolor', 'fontfamily', 'fontsize', 'justifyleft',
'justifycenter', 'justifyright', 'justifyjustify', 'touppercase', 'tolowercase',
'link', 'unlink', 'insertimage', 'emotion', 'scrawl', 'music', 'insertvideo',
'attachment', 'map', 'gmap', 'insertcode', 'template', 'background', 'date', 'time',
'spechars', 'searchreplace', 'inserttable', 'deletetable', 'insertparagraphbeforetable',
'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright',
'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts'
]
]
},
};
},
};
</script>
```
在上述代码中,通过`serverUrl`参数设置了上传图片的后端接口地址为`/api/upload`。
2. 后端控制器代码:
在Spring中,可以通过编写一个控制器方法来实现UEditor上传图片的功能。具体代码如下:
```
@RequestMapping(value = "/api/upload", method = RequestMethod.POST)
@ResponseBody
public String uploadImage(HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setCharacterEncoding("utf-8");
response.setHeader("Content-Type", "text/html");
String rootPath = request.getSession().getServletContext().getRealPath("/");
String contextPath = request.getContextPath();
String basePath = rootPath + File.separator + "upload" + File.separator;
String savePath = contextPath + "/upload/";
String[] fileType = {".gif", ".png", ".jpg", ".jpeg", ".bmp"};
String upfile = "upfile";
JSONObject result = new JSONObject();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Iterator<String> iterator = multipartRequest.getFileNames();
while (iterator.hasNext()) {
MultipartFile file = multipartRequest.getFile(iterator.next());
if (file != null) {
String fileName = file.getOriginalFilename();
String fileExt = fileName.substring(fileName.lastIndexOf(".")).toLowerCase();
boolean isAllow = false;
for (String ext : fileType) {
if (ext.equals(fileExt)) {
isAllow = true;
break;
}
}
if (!isAllow) {
result.put("state", "不支持的文件类型!");
return result.toJSONString();
}
String newFileName = UUID.randomUUID().toString() + fileExt;
File uploadedFile = new File(basePath, newFileName);
if (!uploadedFile.getParentFile().exists()) {
uploadedFile.getParentFile().mkdirs();
}
file.transferTo(uploadedFile);
result.put("state", "SUCCESS");
result.put("url", savePath + newFileName);
result.put("title", newFileName);
result.put("original", fileName);
result.put("type", fileExt);
result.put("size", file.getSize());
}
}
return result.toJSONString();
}
```
3. Spring配置文件:
在Spring的配置文件中,需要配置文件上传的相关参数。具体代码如下:
```
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10485760"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="resolveLazily" value="true"/>
</bean>
```
其中,`maxUploadSize`参数设置了上传文件的最大大小,单位为字节。
至此,我们就完成了在Spring+Vue中实现UEditor图片上传的方法。
阅读全文