- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的是 spring boot 1.5.7-RELEASE 版本,我使用以下方法上传文件:
@Autowired private MyService mySerice;
@RequestMapping(value = "/uploadFile", method = { RequestMethod.POST }, produces = { MediaType.MULTIPART_FORM_DATA_VALUE,
MediaType.APPLICATION_FORM_URLENCODED_VALUE, MediaType.APPLICATION_JSON_VALUE })
public void upload(@RequestParam("file") MultipartFile uis, @RequestParam("user_id") String userId) {
MyFile myFile = new MyFile();
if (!uis.isEmpty()) {
myFile.setFile(uis.getBytes());
myFile.setName(uis.getOriginalFilename());
myFile.setUserId(userId);
myService.upload(myFile);
}
}
我正在尝试将此文件上传到 MySQL 中的此表:
CREATE TABLE `file_user` (
`id` int(5) UNSIGNED NOT NULL,
`user_id` bigint(20) UNSIGNED NOT NULL,
`file` mediumblob NOT NULL,
`name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ALTER TABLE `file_user` ADD PRIMARY KEY (`id`);
前端是一个带有 Ajax 的简单表单 HTML。
var fileInput = $("#file_form_post")[0].files[0];
var data = new FormData();
data.append("file", fileInput);
data.append("user_id", $("#txt_uid").val());
$.ajax({
url: 'mypage.com:9002/uploadFile',
type: 'POST',
data: data,
cache: false,
contentType: false,
processData: false,
headers: {Accept: "application/json"},
success: function (r) {
alert('Upload OK');
},
error: function (request, status, error) {
alert('Upload error');
}
});
当我从 Internet Explorer 或 Microsoft Edge 上传文件时,方法 uis.getOriginalFilename()
返回完整路径。
例如:c:\users\daniel\myfile.txt
如果我从 Google Chrome 上传文件,则 uis.getOriginalFileName()
的值只是文件名。
例如:myfile.txt
如何获取每个浏览器的名称而没有路径?
是否缺少一些 @Bean 来实现这一点?
谢谢。
最佳答案
使用apache commons IO。它处理 Unix 或 Windows 格式的文件。
org.apache.commons.io.FilenameUtils.getName(multipartFile.getOriginalFilename());
关于java - Spring Boot MultipartFile上传getOriginalFileName根据浏览器不同而不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46992498/
我正在使用 Spring 4 和 Java Config。我想将多个文件上传到服务器,但问题是我的 MultipartFile[ ] 参数将始终接收空/[ ] 参数。让我在这里分享我的代码是我的“Ap
我正在使用 MultPartFile 从前端上传 .zip,有时在我对其执行任何操作之前,该文件会被删除。我调试 CommonsMultipartFile.class (intellij) 来清理我的
我面临以下问题:我使用 MultipartFile 提交带有电子邮件等其他信息的图像。 考虑这样一种情况,我们有两个字段:输入 = 带电子邮件的文本和带文件的输入(输入类型 = 文件)。在服务器端,我
我需要将从客户端接收到的 MultipartFile 转换为字节数组,以将其发送到另一台服务器(无需在第一台服务器上保存文件)。我想使用 MultipartFile.getBytes() 函数,将其转
有什么方法可以将 File 对象转换为 MultiPartFile?这样我就可以将该对象发送到接受 MultiPartFile 接口(interface)对象的方法? File myFile = ne
我有一个使用 spring boot 的 Java 11 应用程序。 我的请求 Controller 中有这个请求: @RestController public class ImportContro
我以 BASE64 编码字符串(encodedBytes)的形式接收图像,并使用以下方法在服务器端解码为 byte[]。 BASE64Decoder decoder = new BASE64Decod
我希望用户能够提交任意数量的具有任意名称和原始文件名的文件。 如何获取请求中已提交文件的列表? @RequestParam(name = "*") MultipartFile[] files 我希望使
我尝试通过 post 方法将图像从ionic前端应用程序发送到中的后端服务 Spring 启动 我已经完成了这个方法,使用 FormData 对象内的图像将帖子发送到后端 url: uploadI
如果存在 MultipartFile,为什么 @Valid 注释不适用于我的域模型?我的 Controller 中有以下代码: @PostMapping("/create") public Strin
我有一个可以上传文件的表单。有一个问题,即使没有选择或上传文件,@RequestParam 值的大小也是我希望它为空或 null 的大小。 最佳答案 根据this official这里的 Mozill
我正在使用 MultipartFile 发送包含多个附件的电子邮件。我的代码工作正常,但我将每个文件存储在我的项目中,然后附加。我不想将该文件存储在任何地方,而是希望将文件直接发送给收件人。我的代码是
我正在尝试获取MultipartFile的内容,它是通过MultipartHttpServletRequest.getFile()获取的。 MultipartFile 中有两个函数: bytes[]
我想提取文件路径然后可以上传到谷歌驱动器。如何从 MultipartFile 获取路径? //logger.info(""+uploadFile.getClass().getResource(
我通过文件转换为MultipartFile,但是MultipartFile是空的,请帮忙确认一下,非常感谢,代码如下: File file = new File("/Users/aikaliu/doc
我正在尝试上传超过 1 GB 的文件,我正在使用 Spring Boot。 我已尝试使用以下代码,但出现内存不足错误。 public void uploadFile(MultipartFile fil
我正在使用此代码将图像文件发布到我的 Controller ,但我总是得到文件正文部分的空值。 @RequestMapping(value = "/updateprofile", method = R
我正在使用 angularJs 和 spring 4.0, 我的 Controller 代码: @RequestMapping(value = "/endpoint/add", method = Re
以下是我从网页上传多个文件的函数。我的文件位于 MultipartFile --> 文件变量列表中。我无法迭代每个文件。然而 log.info("file"+files) 打印了 file[]。这意味
我有这样的用户界面代码 .factory('Service', function ($http, $resource, BASE_PATH) { function sendResponse (co
我是一名优秀的程序员,十分优秀!