前端 - Web开发如何上传图片
大家讲道理
大家讲道理 2017-04-17 12:04:19
[MySQL讨论组]

麻烦给出一个完整的流程,从如何提交图片,到如何存储,如何从数据库中取出。

我的想法是图片本身存储到一个文件夹下,然后数据库中存储其路径,在页面上也很容易展示出来。
但有以下问题:
1. 用户上传时图片名可能会有重复,所以这个名字我应该去命名,但不知道如何弄
2. 用户上传的图片格式五花八门,会不会造成一些麻烦?

希望大家给出简单的解决办法,不考虑性能等,能用就行。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(7)
怪我咯

首先不明白你要的解决办法是那种,要代码?要思路?要方案?要框架?要例子?要现成的?

1:图片的原名会再用到吗?如果不用到,那就时间戳,UUID,路径加名字HASH,很多方式都行,如果需要保留原名,1楼的方式就可以,你也可以鬼才的直接把名字,图片格式等直接放存储的文件名里
2:图片格式你可以做限制,判断,前端做,后端再做,不行你还可以把图片自己重新输出成你想要的格式

3:恩,百度一下就有很多现成的

阿神

直接用数据库id命名就可以,再加2个字段,一个存原名,一个存ContentType,提供下载的时候按存储的这2个字段复原就行了

黄舟

其实你问的这些都不是问题,在处理图片上传的时候可以限制图片格式,上传之后可以对图片进行重命名,通常用时间戳,这样就能保证不重复。

阿神
  1. 建议存储的时候命名成UUID,原文件名记录在数据库中下载时候再命名回来。
  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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号