爱意满满的作品展示区。
HanSonJ

用 Laravel 写了一个图床网站

  •  
  •   HanSonJ ·
    HanSon · Apr 10, 2017 · 7035 views
    This topic created in 3495 days ago, the information mentioned may be changed or developed.

    file

    项目地址: https://github.com/HanSon/img

    体验地址: http://img.hanc.cc/

    抽了一天时间写了这个微博图床小站,尽管说是用 laravel ,但是后端几乎没有什么工作量,大概也就 20 行的后端代码,几乎都是前端的工作为主。

    后端使用了一个微博上传图床的包 https://github.com/consatan/weibo_image_uploader

    前端主要了解了 drag & drop 以及 clipboard 这个库。

    纯粹闲的蛋疼

    file

    Supplement 1  ·  Apr 10, 2017
    由于新浪图床这个包不算太稳定,最后决定听取 @sinchang 的意见,改成 https://sm.ms 的图床
    74 replies  •  2017-04-21 13:13:53 +08:00
    vipwpcom
    vipwpcom
    Apr 10, 2017
    1
    厉害了
    zocome
    zocome
    Apr 10, 2017❤️1
    2
    传了一个非图片文件之后,直接 alert 500 错误
    ![]( )
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    3
    @zocome #2 什么格式的文件,有点懵,我前后端都有做校验的
    zocome
    zocome
    Apr 10, 2017
    4
    @HanSonJ #3 msi
    tongyang
    tongyang
    Apr 10, 2017
    5
    厉害了
    zhihaofans
    zhihaofans
    Apr 10, 2017 via iPhone
    6
    @zocome msi 不是图片是微软的安装包格式吧
    zocome
    zocome
    Apr 10, 2017
    7
    @zhihaofans #6 看我 2 楼回复 我直接说了非图片文件
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    8
    @zocome #7 什么浏览器, Chrome 的话应该没问题
    zocome
    zocome
    Apr 10, 2017
    9
    @HanSonJ #8 就是 Chrome
    lijinma
    lijinma
    Apr 10, 2017
    10
    赞一个哈。
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    11
    @zocome #9 我不信,你再试试,是拖拽还是按钮
    hzwei
    hzwei
    Apr 10, 2017 via Android
    12
    那么测试一下
    hzwei
    hzwei
    Apr 10, 2017 via Android
    13
    哇,很不错呢。 @HanSonJ 楼主,这个图床上传有什么限制呢?
    jamfer
    jamfer
    Apr 10, 2017
    14
    问一下上传是后端处理的么?
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    15
    @hzwei #13 我这边限制了 5M 的大小,仅限图片格式


    @jamfer #14 是的,我这里的后端代码不超 20 行,当然用了其他上传包,上传到微博图床
    zocome
    zocome
    Apr 10, 2017
    16
    @HanSonJ #11 还是这样,按钮,传的是一个 12.7MB 的 msi 安装包
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    17
    @zocome #16 嗯,我重现出来了,两个不一样大小的一个能提示一个报错,我改改
    hzwei
    hzwei
    Apr 10, 2017 via Android
    18
    @HanSonJ #15 嗯,好的谢谢。
    xJogger
    xJogger
    Apr 10, 2017 via Android
    19
    ![]( )



    测试一下。
    fhefh
    fhefh
    Apr 10, 2017
    20
    我上传一个苹果 app 显示 Error: Request failed with status code 500
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    21
    @fhefh #20 input 忘记加 图片格式筛选了,晚上改
    luozhaofu
    luozhaofu
    Apr 10, 2017
    22
    ![]( )
    mahui
    mahui
    Apr 10, 2017
    23
    ![]( )
    传到 sina 。感觉不错。会不会被封呢?
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    24
    @mahui #23 还好吧,我用 V2EX 的插件也是上传到微博的
    zhihaofans
    zhihaofans
    Apr 10, 2017
    25
    @zocome 为什么要用图床传非图片文件
    zocome
    zocome
    Apr 10, 2017
    26
    @zhihaofans #25 传图片文件就没意思了 传个非图片文件看看会不会报错更有趣
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    27
    @zocome #26 做这个的时候有想过所以都有做校验,毕竟传个木马就不得了了
    zocome
    zocome
    Apr 10, 2017
    28
    @HanSonJ #27 想法很美好,但还是被我一不小心钻了漏洞
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    29
    @zocome #28 刚看日志,只是文件过大的异常
    Mark7Dai
    Mark7Dai
    Apr 10, 2017
    30
    ![]( )
    YV4usGtvaOIAeXIa
    YV4usGtvaOIAeXIa
    Apr 10, 2017
    31
    当初我还在用微博图床的时候。。 HTTPS 还存在问题。。。现在居然没问题了。。
    xwj1024
    xwj1024
    Apr 10, 2017
    32
    ![]( )
    sinchang
    sinchang
    Apr 10, 2017
    33
    自己之前搞的 https://u.nu/pic , 使用的是 https://sm.ms 的 api
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    34
    @sinchang #33 这个 API 不错,如果微博图床挂了我就用这个好了,比较稳
    cmlz
    cmlz
    Apr 10, 2017
    35
    test
    alwayshere
    alwayshere
    Apr 10, 2017
    36
    搞不明白,图床这么简单的网站,需要用框架,而且是 lumen 这样的复杂框架么?如果是我的话,一个 index.html 、一个 upload.php 就搞定, css 和 js 太简单写进 index.html 就行了,至于这么复杂么?
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017❤️1
    37
    @alwayshere #36

    1 、 laravel 不等于 lumen
    2 、 laravel 自带验证
    3 、这是一种信仰
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    38
    @zocome #28 前端上修复你的问题了
    manhere
    manhere
    Apr 10, 2017
    39
    hanson 很高产啊 @laravel-china
    kimwang
    kimwang
    Apr 10, 2017
    40
    也是上传中,图片大小只有 30K 多点。
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    41
    @manhere #39 还好


    @kimwang #40 再试一次,我这里小图秒发
    oojiayu
    oojiayu
    Apr 10, 2017
    42
    https://github.com/Aqours/Weibo-Picture-Store

    这是我用得最顺手的一个微博图床了
    jcuan
    jcuan
    Apr 10, 2017 via Smartisan T1
    43
    说到图床,一般的图床后边图片巨多巨多的时候,会不会清理图片额😳一直很好奇这个问题
    HanSonJ
    HanSonJ
    OP
    Apr 10, 2017
    44
    @jcuan #43 不会,因为存储值不了几个钱
    aitaii
    aitaii
    Apr 10, 2017
    45
    ![]( https://ooo.0o0.ooo/2017/04/10/58eb98e5937e9.jpg)
    cheng12308
    cheng12308
    Apr 10, 2017 via iPhone
    46
    这个不错,正好需要做个上床页面,直接扒了楼主的前端页面到 yii 框架了😀
    woshinide300yuan
    woshinide300yuan
    Apr 11, 2017
    47
    好奇 SM.MS 是谁在维护,体验很棒,还有 API ,这得多大的开支哦。
    woshinide300yuan
    woshinide300yuan
    Apr 11, 2017❤️1
    48
    除了不能多选, LZ 完美了!!!!
    zhihaofans
    zhihaofans
    Apr 11, 2017 via iPhone
    49
    @woshinide300yuan @Showfom 嗯,发给你了。不过建议你可以加一个策略,不要允许其他一些短网址继续用你的服务来缩(隐)短(藏)。
    zhihaofans
    zhihaofans
    Apr 11, 2017 via iPhone
    50
    @woshinide300yuan 擦,粘贴用户名时点到了发送!
    是这位大佬→@Showfom
    fuxkcsdn
    fuxkcsdn
    Apr 11, 2017 via iPhone
    51
    我该感谢楼主帮忙推广吗😳
    一天涨了 18 stars😳
    fuxkcsdn
    fuxkcsdn
    Apr 11, 2017 via iPhone
    52
    "由于新浪图床这个包不算太稳定"是说我的包不稳定?还是说新浪图床不稳定???
    我的包不稳定的话,是否有错误日志?
    或者怎么个不稳定法?

    BTW , sm.ms 官网就有拖拽上传功能啊😳
    msg7086
    msg7086
    Apr 11, 2017
    53
    为什么不直接用 sm ?
    parvin
    parvin
    Apr 11, 2017 via Android
    54
    ![]( https://ooo.0o0.ooo/2017/04/11/58ec1710292b2.jpg)
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    55
    @fuxkcsdn #52 新浪的登录机制问题,我一天要传两次 cookie 才行,鉴于这个我改为了 sm.ms
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    56
    @woshinide300yuan #48 谢谢,主要考虑到多选要考虑页面的展示方式,就懒得做了


    @msg7086 #53 现在已经用了 sm 了
    Dowding
    Dowding
    Apr 11, 2017
    57
    对啊,如果用 sm.ms 的话还开发图床做什么呢
    Dowding
    Dowding
    Apr 11, 2017
    58
    @HanSonJ #55 他这个包不是会模拟登录的么?
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    59
    @takashiki #57

    1 、一开始是用新浪图床
    2 、这是个铺垫 https://www.v2ex.com/t/353975
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    60
    @takashiki #58 对啊,包作者在楼上
    Dowding
    Dowding
    Apr 11, 2017
    61
    @HanSonJ #59 额,我的意思是本身 sm.ms 就是个图床,既有拖拽上传的前端控件,又有 api 支持,已经比较完善了,为什么还要绕一层呢?

    还有那个包既然自动模拟登录的话,怎么会要一天传两次 cookie 呢?
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    62
    @takashiki #61

    1 、新浪有 IP 检测登录异常的机制
    2 、 API 支持不就是为了绕一层?
    3 、你没有认真看我说的铺垫吧
    Dowding
    Dowding
    Apr 11, 2017
    63
    @HanSonJ #62

    1 、好吧,知道你说的不稳定的具体原因了
    2 、 3 、我个人觉得你说的铺垫的情况应该主要目的不是做图床了吧, api 支持的话一般来说是方便封装 sdk 吧,如果用 sm.ms 这种的话应该就是像你使用微软小冰的服务一样封装出一个包出来,给项目来用这种
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    64
    @takashiki #63 这就要说我做这个项目的初衷了,纯粹是周日那天有点蛋疼想找点东西写,然后就写了图床了,顺便学习一下拖拽方面的 JS ,至于我说的铺垫,也是周一突然想起来有这个东西,想着也许可以加上去,让图床更加好玩,其实都是自用+分享。

    做点对自己有用或者对别人有帮助的项目感觉挺好的
    ChenPeiPei
    ChenPeiPei
    Apr 11, 2017
    65
    test
    ![]( https://ooo.0o0.ooo/2017/04/11/58ec3366ddd9f.png)
    Dowding
    Dowding
    Apr 11, 2017
    66
    @HanSonJ #64 嗯,还是很支持楼主的。
    xxdd
    xxdd
    Apr 11, 2017
    67
    https://ooo.0o0.ooo/2017/04/11/58ec33cf09cee.jpg
    fuxkcsdn
    fuxkcsdn
    Apr 11, 2017 via iPhone
    68
    @HanSonJ 既然是 cookie 问题,这不算是包不稳定啊😳这是新浪问题了,换其他封装方案这个问题也还是存在的
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    69
    @fuxkcsdn #68 我表述问题,不过还是期待你的包能尽快解决验证码问题
    peinhu
    peinhu
    Apr 11, 2017
    70
    如果用新浪图床你这个还是有点用的,因为新浪上传图片比较麻烦,但是 sm.ms 上传本身就很方便。。
    HanSonJ
    HanSonJ
    OP
    Apr 11, 2017
    71
    @peinhu #70 这个需要大家共同完善了,因为新浪检测登录异常,可以在原来的包上检测到后做些处理
    zhihaofans
    zhihaofans
    Apr 11, 2017
    72
    @HanSonJ 报错了好伤心
    https://ooo.0o0.ooo/2017/04/11/58ecc340e9908.png
    zhihaofans
    zhihaofans
    Apr 11, 2017
    73
    @HanSonJ 原来是我忘记 composer install 了
    fuxkcsdn
    fuxkcsdn
    Apr 21, 2017
    74
    @HanSonJ 验证码问题已解决
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2939 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 192ms · UTC 11:32 · PVG 19:32 · LAX 03:32 · JFK 06:32
    ♥ Do have faith in what you're doing.