首页 > 其他分享 >每日总结4.23

每日总结4.23

时间:2023-06-01 21:23:14浏览次数:41  
标签:总结 String temp 每日 factory file new 4.23 上传

看了很多关于文件上传的帖子,感觉写的都很复杂,于是做了一个总结,写个精简版,希望对大家有所帮助。

前端选用<input type="file">原生组件,实现该组件美化与图片预览功能。

前端代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/test.js"></script>
<title>文件上传</title>
<style>
.myBtn{
padding: 5px 10px;
background: rgb(92,184,92);
color: white;
outline: none;
border: none;
border-radius: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<input type="file" id="file" style="display: none" onchange="upload(this)">
<button class="myBtn" onclick="fileBtn()">
上传文件
</button>

<img src="" id="img" style="width: 200px">
</body>
</html>

function fileBtn() {
document.getElementById('file').click()
}

function upload(file) {
let img = document.getElementById('img')
let formData = new FormData()
let temp = file.files[0]
if (temp){
formData.append('file',temp)
img.src = window.URL.createObjectURL(temp)
$.ajax({
url:"/test/file2",
type:"POST",
data: formData,
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
success: function(result){
alert(result);
}
})
}
}

这里用了一个小技巧,原生的样式不是丑吗,那就隐藏它,就调用他的方法就好了,如果不想onchange触发想要点击提交等等只要稍作修改,大家可以自行发挥,我对button做了个简单的样式,大家可以根据自己项目的需求修改样式。window.URL.createObjectURL()方法可以实现对图片预览,当然这里传输任何格式的文件都是可以的,这里要是用vue或者其他框架思路也是一样的,这样前端就完成了。

后端代码Spring版:

@RestController
@RequestMapping("/test")
public class TestController {

@PostMapping(value = "/file2")
public String uploadFile(@RequestParam("file") MultipartFile file){
String fileName = file.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf('.'));
String newFileName = new Date().getTime() + suffix;
String path = "E:/test/";
File newFile = new File(path + newFileName);
try {
file.transferTo(newFile);
return "成功";
}
catch (Exception e){
e.printStackTrace();
return "失败";
}
}
}

@Configuration
public class FileUpload {

@Bean
public MultipartConfigElement multipartConfigElement(){
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize("10MB");
factory.setMaxRequestSize("10MB");
return factory.createMultipartConfig();
}
}

@RequestParam("file")中的"file"为前端formdata里的"file",配置文件可以配置上传文件大小,这里suffix为文件后缀名,我用了时间戳作为新文件名(保证不会重复),大家可以根据自己的需求修改文件名。怎么样,是不是很简洁?

不用Spring的话,网上也有很多教程,这就不描述了。

最终效果图:

 

标签:总结,String,temp,每日,factory,file,new,4.23,上传
From: https://www.cnblogs.com/azwz/p/17450246.html

相关文章

  • elasticsearch常用命令总结
    目录#查看集群状态curlhttp://*:9200/_cluster/health?pretty#查看所有索引状态curl"http://*:9200/_cat/indices?pretty"#查看异常索引状态curl"http://*:9200/_cat/indices?v&health=red"#查看异常索引分片分配状态curl"http://*:9200/_cat/shards/your_inde......
  • 23.3.27-4.2 每周总结
    本周的学习任务依然是每天的javaweb学习、mysql、Android开发学习以及后期的课程复习任务。在javaweb学习方面,我学习了Spring框架的使用和AOP编程等内容;在MySQL方面,我学习了事务的隔离级别和存储引擎的对比使用;在Android开发方面,我学习了多线程编程的方法。在后期的课程复习任务方......
  • 软件工程课程总结
    本学期的软件课程中,我学习了地铁站查询系统、分页查询以及团队合作和安卓端的开发,针对以上内容,我写出课程总结。当我们在构建一个完整的地铁站查询系统时,我们需要为用户构建一个友好、高效、易用、多样化的界面。更进一步, 我们可以设计并开发一个android应用程序,为用户提供更加......
  • 软件工程课程总结
    在本学期中,我参加了一门软件工程的课程,该课程包含了软件工程的基本概念和实践技术。在这篇总结中,我会详细描述我在这门课程中学到的内容,以及对本课程的反思和建议。一、学习成果 1.掌握了软件工程的基本概念和流程 在本课程中,我掌握了软件工程的基本概念,例如软件需求分析、......
  • 6.1学习总结
    Dos命令打开terminal的方式command+空格+输入终端/z访达+应用程序+实用工具+终端管理员方式运行:选择以管理员方式运行常用的Dos命令#切换目录cd会改变当前目录到你指定的目录#列出目录下所有文件ls#当前目录显示当前目录绝对路径#返回上一级目录cd..#清理屏......
  • 软件工程课程总结
    软件工程课程总结 软件工程是一门涉及软件开发过程、设计、实现、测试和维护的学科。我在这门课程中学到了很多关于软件工程的知识和实践技术,下面是我的课程总结。首先,在课程中我们了解了软件工程的发展历程、定义和原则。软件工程的发展从单机应用到分布式网络应用,其......
  • 新版idea快捷键总结学习----(用于java开发模式)
    选择代码区ctrlw如果放到以if开头的语句,可以选择if判断条件所在的代码片段游标在单个单词下时选择单词在选中多个单词时,选择整个字符串三次点击时,如果不在字符串单词下,用于选择{}内的代码片段逐级递增如果在单词下方,用于选择单词所在的字符串并且向外逐级扩展。ctrl......
  • 学期总结
    本学期学习了Javaweb和Android开发,这门课程不仅帮助我掌握了编写JavaWeb应用程序和移动应用程序的技能,还让我深刻地了解到了团队协作的重要性。在学习Javaweb方面,我们首先学习了Servlet和JSP的基础知识,包括如何建立一个Web项目、如何配置Tomcat服务器等。此外,我们还学习了使用MV......
  • 数组去重方法总结
    //基于单key或无key去重,单key一般是对象的id,无key就是元素本身是非对象exportfunctionuniqueArr(arr,key){letres;if(key){res=[...newMap(arr.map(t=>[t[key],t])).values()]}else{res=[...newSet(arr)]}returnre......
  • (总结)HTTP常见错误返回代码
    (总结)HTTP常见错误返回代码 Browser, WebServer |作者: 谋万世全局者 http,常见错误,总结,返回代码HTTP返回状态代码当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表......