2016-10-14 01:01:50 7630次浏览 3条回答 2 悬赏 10 金钱

用的yii2 advanced版,可能会涉及到跨域
用的yii2的redactor富文本编辑器,但是只能在配置的时候要么不填写(图片默认传到该目录下的uploads文件夹,我这是后台提交,也就是提交到backend下的uploads,而图片主要是在前台显示,当然后台可能也会显示,在不登陆后台的情况下,虽然也可以访问到后台的图片,但是很显然不应该暴露后台的登录地址)
图片上传插件.jpg

可以访问到后台的图片.jpg

所以要在配置文件中配置上传路径到前台的uploads:
common下的配置.jpg

问:要怎样配置路径?才能使图片上传到前台uploads目录?

'uploadDir' => 'XXXXXX',
'uploadUrl' => 'XXXXXX',
补充于 2016-10-14 01:44

还有,假设注册会员在前台登录了,他提交的图片要存在以他的帐号或者昵称命名的文件夹下,又要怎么设置呢?
难道这样:

'uploadDir' => '@webroot/uploads'.echo \Yii::$app->session['adminname'];

显然在数组里不能这样干哇
有什么好办法么?

最佳答案

  • koko 发布于 2016-10-14 09:02 举报

    引入公共的图片域名指向特定的目录,前后台均通过图片域名去访问

    4 条回复
    回复于 2016-10-14 12:10 回复

    是直接在apache和hosts文件配置还是要yii2的配置文件里配置?

    回复于 2016-10-14 12:54 回复

    域名指向需要在apache中配置,文件目录看你怎么实现。走本地文件系统,就直接写入特定目录。走网络传输,就直接通过域名传递给后台,后台再来保存到相应的目录。统一通过图片域名调用图片。

    回复于 2016-10-14 13:29 回复

    嗯,懂了

    回复于 2016-10-14 13:47 回复

    完美解决,感谢

  • 回答于 2016-10-14 11:24 举报

    前后台上传的图片都存到前台吧,访问的时候前后台都通过http地址访问

    4 条回复
    回复于 2016-10-14 11:25 回复

    配置路径的时候加上前台的域名地址

    回复于 2016-10-14 13:51 回复

    这样根本上传不了,用了@koko的方法解决了:

    'uploadDir' => '@webroot/uploads',
    'uploadUrl' => 'http://images.mybigweb.bb',
    

    依然只能传到后台,设置给图片显示的路径为http://images.mybigweb.bb
    不暴露后台地址的目的达到

    回复于 2016-10-14 15:19 回复

    这样只是修改了uploadUrl(图片数据库保存地址)吧,uploadDir(图片上传目录)没有修改。
    我自己做的系统,这样做是可以实现的。要不你改成这样试一下行不行?

    'uploadDir' => '@frontend//web/uploads',
    'uploadUrl' =>  'http://前台域名地址/uploads',
    
    回复于 2016-10-14 16:06 回复

    嗯,试了,可行!感谢

  • 回答于 2016-10-14 11:49 举报

    一楼方法可用,已实现...

    1 条回复
    回复于 2016-10-14 13:53 回复

    哈哈,同喜

您需要登录后才可以回答。登录 | 立即注册
lzw
主管

lzw 湖南

注册时间:2012-08-03
最后登录:2018-05-21
在线时长:9小时1分
  • 粉丝4
  • 金钱800
  • 威望10
  • 积分990

热门问题