麻烦给出一个完整的流程,从如何提交图片,到如何存储,如何从数据库中取出。
我的想法是图片本身存储到一个文件夹下,然后数据库中存储其路径,在页面上也很容易展示出来。
但有以下问题:
1. 用户上传时图片名可能会有重复,所以这个名字我应该去命名,但不知道如何弄
2. 用户上传的图片格式五花八门,会不会造成一些麻烦?
希望大家给出简单的解决办法,不考虑性能等,能用就行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
首先不明白你要的解决办法是那种,要代码?要思路?要方案?要框架?要例子?要现成的?
1:图片的原名会再用到吗?如果不用到,那就时间戳,UUID,路径加名字HASH,很多方式都行,如果需要保留原名,1楼的方式就可以,你也可以鬼才的直接把名字,图片格式等直接放存储的文件名里
2:图片格式你可以做限制,判断,前端做,后端再做,不行你还可以把图片自己重新输出成你想要的格式
3:恩,百度一下就有很多现成的
直接用数据库id命名就可以,再加2个字段,一个存原名,一个存ContentType,提供下载的时候按存储的这2个字段复原就行了
其实你问的这些都不是问题,在处理图片上传的时候可以限制图片格式,上传之后可以对图片进行重命名,通常用时间戳,这样就能保证不重复。
图片格式图片名五花八门,可以考虑从名字服务器上获取。
这边找到了一个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指自己定义的文件名,自由选择更改。http://lmgtfy.com/?q=java+how+to+upload+file