最近一直在做一个项目,但是有好多的东西都是第一次碰到,上网上查了很多资料,但是由于基础薄弱,只是堪堪了解一点。
我所想实现的是,在后台页面上传图片,存放路径到数据库中,而前台页面通过数据库可以查到,然后在页面显示,而上传的图片要保存到我在项目中所建的文件夹内,服务器上有临时存放的位置String root = ServletActionContext.getServletContext().getRealPath("/upload");但是服务器清除的时候会把这些上传的文件就给清除了。
我现在做到的是,通过拷贝临时文件夹内的文件,保存到我所建的文件夹内,在这里记下以防止我遗忘。所用ssi框架,struts2,spring,mybatis,数据库orca,服务器tomcat。
1,前台页面
<form action="uploads" method="post" enctype="multipart/form-data"><input type="file" name="file"> <input type="submit"></form>
发送

action请求到配置文件struts.xml里寻找

<action name="uploads" class="net.test.Controllers" method="upload"><result name="testUpload" ype="redirect">/file.jsp</result></action>
public String upload() throws IOException {// 得到文件存放的临时路径String root = ServletActionContext.getServletContext().getRealPath("/upload");System.out.println("那这个呢" + root);InputStream is = new FileInputStream(file);// 原file文件File dest = new File(root, fileFileName);// 服务器的文件OutputStream os = new FileOutputStream(dest);// FileOutputStream fot=new FileOutputStream("D://");// while(is.read()>-1){// fot.write(b);// }System.out.println("fileFileName: " + fileFileName);// 因为file是存放在临时文件夹的文件,我们可以将其文件名和文件路径打印出来,看和之前的fileFileName是否相同System.out.println("file: " + file.getName());System.out.println("file: " + file.getPath());byte[] buffer = new byte[500];int length = 0;while (-1 != (length = is.read(buffer, 0, buffer.length))) {os.write(buffer);}os.close();is.close();// 通过JVM读取java.io.tmpdir属性取得临时文件夹// File targetDir = new File(System.getProperty("java.io.tmpdir"));String root1 = this.getClass().getClassLoader().getResource("").getPath();System.out.println("打印这个" + root1);// 获得文件路径String fileuil = "D://yzg_new//youtuWeb//WebContent//upload";haha = fileuil + fileFileName;// 拷贝文件(a,b)a到bFileUtils.copyFileToDirectory(dest, new File(fileuil));// 完成了文件的拷贝工作// String file_real_path= ServletContext.getRealPath("mypath/filename");return "testUpload";}

在项目中新建upload文件夹,上传成功后刷新一下文件就会发现文件出现在目录里。
然后问题出现了,我放进数据库里因该是什么路径呢?那前台显示的呢?有经验的朋友看到的话,不妨给我讲一下,麻烦了。如果不懂得朋友有什么新收获,一块来研究一下吧。

web项目中图片上传相关推荐

  1. Web项目中文件上传Filter处理

    最近遇到一个文件上传的项目,而且在这个项目中遇到的文件上传的次数还是挺多的,所以就写了个Filter过滤器.这一个想法还是从一本书上看到的,所以原则上说并不是在下原创.不过因为补充了一点东西,所以,嘿 ...

  2. Web项目,网页上传excel文件并解析实战示例

    最近写了一个基于poi解析excel文件的工具类,所以想在web项目中测试一下,就做了这个简单的项目.本项目主要使用了 SpringMVC+RESTful+Maven的风格.适合有一定基础的人员. 源 ...

  3. 【前后端分离项目实现图片上传】

    前后端分离项目实现图片上传 后端业务代码 前端部分 实例 以样例的形式来展示:其中包括前台获得数据进行显示时图片的处理:以及上传图片时的处理: 后端业务代码 @RestController @Requ ...

  4. java读excel乱码,【java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开,】java读取excel乱码...

    java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开, 1.转换格就是将受损的Excel XP簿另存格式选为SYLK.如果可以打开受件,只是不能进行各种编辑和打印操作,那 ...

  5. 如何解决markdown中图片上传的问题

    如何解决markdown中图片上传的问题 参考文章: (1)如何解决markdown中图片上传的问题 (2)https://www.cnblogs.com/yu-yi/p/9535471.html 备 ...

  6. vue中图片上传及回显

    在vue中图片上传到服务器下指定路径,并实现根据图片路径调取后台接口返回图片流在vue页面展示图片 一.图片上传 1.前台上传 <template slot-scope="scope& ...

  7. 【.net】Ueditor中图片上传和图片回显路径的设置

    在csdn六百多天的游侠今日现身江湖. 问题发生的背景: 所有项目代码中,图片上传都是固定存到一个图片专属的盘符,这样就可以整个盘符对所有图片进行备份以防丢失. 但是!有一个站点所引用的百度编辑器(主 ...

  8. Web开发中图片上传功能总结

    图片上传功能总结   1.添加文件上传所需jar包(commons-io-1.4.jar和commons-fileupload-1.1.1.jar)   2.在form表单上添加自带属性 enctyp ...

  9. web.py做图片上传网页

    简单而直接的Python web 框架:web.py 网页界面属于前端,可以用html HTML5 上传图片文件(含拖拽.预览.上传.美化) HTML 入门笔记 - 初识HTML 如何实现一个简易的图 ...

最新文章

  1. zabbix监控添加psql数据库和sql_server数据库模板
  2. 简洁版利用Python写俄罗斯方块游戏
  3. 【原创】分享一些机器学习和深度学习的学习资料
  4. 关于湖北工业大学图书馆联网配置的方法
  5. java k线绘制,用Java绘制K线图[Java编程]
  6. 清华博士教你如何用推荐算法技术「找到女朋友」
  7. 解决 LLVM 错误 fatal error: ‘csignal’ file not found
  8. FFmpeg 音视频同步
  9. 对short类型,输出结果不一样?
  10. 每天2分钟,10个简单方法改变你的生活
  11. 修改HBase的rowkey设计把应用的QPS从5W提升到50W
  12. 百度大脑公开课:快速定制、部署高精度深度学习模型!
  13. vertica数据库将一个字段用逗号分割与拼接
  14. 每天二十分钟学习python_每天 3 分钟,小闫带你学 Python(二十五)
  15. linux更改库文件vfp,VFP数据库修改与删除的基本操作
  16. oracle数据库plsqldev导出表、表结构的方法
  17. mac 不显示 外接屏幕_macbook pro 外接显示器显示不完全
  18. 软件测试需要学数学,数学软件测试有感
  19. ddr3ddr4 lpddr4速率_LPDDR3内存就比DDR4差?是时候冷静一下了
  20. 微信群如何设置永久有效二维码?99.99%的人都不知道!

热门文章

  1. 饱和蒸汽比容计算、 温压补偿系数计算
  2. 【Tableau server 日常运维19】Linux版本Tableau Server视图出现如下图乱码解决方案
  3. 怎么把html设置桌面壁纸,win7系统怎么把桌面更换成自己喜欢的桌面背景?
  4. android手机间的通讯,(一)Android 两部手机经过UDP在局域网内通讯
  5. 安全知识云服务器ip端口网络 socket 编程 端口 大全
  6. os系统解决seaborn中文乱码问题 Font family [‘SiHei‘] not found
  7. HDFS删除并清空回收站
  8. 诚之和:字节再迎裁员潮温州百人“大撤退”、ohayoo应届生“团灭”
  9. JAVA中GUI在Button中设置中文乱码问题
  10. shell 补齐路径_Linux中10个有用的命令行补全例子