上传的jsp写法:
<tr> <td width="50%" align="left">软件上传: <input type="file" size="20" class="form-control" name="file" required></td> </tr>
上传的table的表格的form表单需要有的属性(橘黄色标记):
1 <form action="software_add" method="post" class="form" id="form" enctype="multipart/form-data"> 2 ... 3 </form>
上传的后台java相关代码:
1 try { 2 is = new FileInputStream(file); 3 switch (software.getType()) { 4 case 1: 5 os = new FileOutputStream(new File("D:\upload\program\", fileFileName)); 6 break; 7 case 2: 8 os = new FileOutputStream(new File("D:\\upload\\net\\", fileFileName)); //转义不转义均可 9 break; 10 case 3: 11 os = new FileOutputStream(new File("D:\\upload\\app\\", fileFileName)); 12 break; 13 default: 14 break; 15 } 16 System.out.println("fileFileName: " + fileFileName); 17 // 因为file是存放在临时文件夹的文件,我们可以将其文件名和文件路径打印出来,看和之前的fileFileName是否相同 18 System.out.println("file: " + file.getName()); 19 System.out.println("file: " + file.getPath()); 20 path = file.getPath(); 21 byte[] buffer = new byte[500]; 22 int length = 0; 23 24 while(-1 != (length = is.read(buffer, 0, buffer.length))) 25 { 26 os.write(buffer); 27 } 28 29 30 31 } catch (Exception e) { 32 // TODO: handle exception 33 System.out.println("文件上传失败"); 34 e.printStackTrace(); 35 } 36 37 finally { 38 39 try { 40 is.close(); 41 os.close(); 42 } catch (IOException e) { 43 // TODO Auto-generated catch block 44 e.printStackTrace(); 45 } 46 }
Struts部分还可以通过以下控制上传文件大小:
<struts>
<constant name="struts.multipart.maxSize" value="10701096"/>
...
</struts>
PS;此属性需放到<struts></struts>之间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?