网站上传图片的问题

最近写网站的时候遇到一个问题,用户在上传图片的时候,由于用户上传的图片是大小,宽高,清晰度是随机的,但是网站的呈现端图片的大小等是固定的(比如博客的文章配图等)。这样的话用户上传的图片未经处理就会造成呈现端的体验很不好。目前写到这部分,只想到了当用户上传图片的时候按照一定的宽高比压缩或者裁剪图片,但是这样的情况下给用户的体验有时也非常不好。想来听听大家的想法,不吝赐教。谢谢大家。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

@Summer 大召唤术,站长大大快快显灵。

7年前 评论

建议云存储图片。这是当前流行的,并且今后也是趋势。

例如七牛有个功能,在图片地址后面添加 !300x300 便可以得到一个 300x300 的图片,自动剪切的,还可以控制截取的位置左上、中、右上、左下等,还可以等比例缩放再裁剪,加水印等。

7年前 评论

@zhuzhichao 上传部分是用的七牛,已经写好了。但是有一些问题哈:

  1. 比如我要分类管理我的资源,每个用户是一个文件夹,视频和图片分开放,我在文档中没有发现这样的接口。
  2. 图片在上传的时候直接处理好(比如压缩等)还是后期处理
  3. 资源的追踪问题,上传到云端后,本地该怎么做资源的追踪。比如,数据库设计时,用户和资源之间的关系该怎么设计比较好。:laughing:
7年前 评论
monkey

附件都上传到 本地,而不是直接传到 七牛

然后在七牛的管理后台配置好 镜像存储 即可

这样用户上传的附件地址都能由你的程序控制了。

7年前 评论

@maxiaoxiong

  1. 可以进行分类的,通过上传路径来控制,例如 user/1/image34.jpg , image/upload/2016-10-07/adf23edwfqwefef.jpg 等进行文件夹分类
  2. 建议前后都处理,避免图片质量太大了,七牛空间占用大,会和费用成正比的,存储量大了七牛会收费的。例如,头像上传可能是个单反拍的5M大小,你可以处理之后为1M,以后根据情况进行输出即可了。
    3.这个需要设计的,简单的可以来个多态表关联, id, imageable_id, imageable_type, owner_id, owner_type, url, path, params 等参数来关联,不过,如果是一对一的图片关联,建议在主表添加个 image_url 字段,避免每次查关联图片要多执行SQL查询。
7年前 评论

@zhuzhichao 好的,谢谢解惑。又涨了一波姿势 :laughing:

@monkey 没有试过七牛的镜像存储功能,我现在就去看看,谢谢 :laughing:

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!