麻烦给出一个完整的流程,从如何提交图片,到如何存储,如何从数据库中取出。
我的想法是图片本身存储到一个文件夹下,然后数据库中存储其路径,在页面上也很容易展示出来。 但有以下问题: 1. 用户上传时图片名可能会有重复,所以这个名字我应该去命名,但不知道如何弄 2. 用户上传的图片格式五花八门,会不会造成一些麻烦?
希望大家给出简单的解决办法,不考虑性能等,能用就行。
web前端开发 mysql java-ee
首先不明白你要的解决办法是那种,要代码?要思路?要方案?要框架?要例子?要现成的?
1:图片的原名会再用到吗?如果不用到,那就时间戳,UUID,路径加名字HASH,很多方式都行,如果需要保留原名,1楼的方式就可以,你也可以鬼才的直接把名字,图片格式等直接放存储的文件名里 2:图片格式你可以做限制,判断,前端做,后端再做,不行你还可以把图片自己重新输出成你想要的格式
3:恩,百度一下就有很多现成的
http://lmgtfy.com/?q=java+how+to+upload+file
这边找到了一个 demo ,copy会报路径错误,需要把 FileUploadServlet.java中 的 File file = new File(sc.getRealPath("/") + savePath, tempFile.getName()) 的 sc.getRealPath("/") 去掉,改为 File file = new File(savePath, my_string) ,savepath指存储路径,可在web.xml中配置,mystring指自己定义的文件名,自由选择更改。
FileUploadServlet.java中
File file = new File(sc.getRealPath("/") + savePath, tempFile.getName())
sc.getRealPath("/")
File file = new File(savePath, my_string)
图片格式图片名五花八门,可以考虑从名字服务器上获取。
其实你问的这些都不是问题,在处理图片上传的时候可以限制图片格式,上传之后可以对图片进行重命名,通常用时间戳,这样就能保证不重复。
直接用数据库id命名就可以,再加2个字段,一个存原名,一个存ContentType,提供下载的时候按存储的这2个字段复原就行了
一个前端,需要多少php+数据库知识?
java EE 用的是MySQL数据库,缓存问题
Java Web项目设计数据库时是否需要在表中加备用字段
PHP搜索数据库输出的JSON出现重复
PHP输出json到web无法正常显示中文
做一个企业信息发布的系统需要什么技术?