前端上传文件到问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
johnlin
V2EX    问与答

前端上传文件到问题

  •  
  •   johnlin 2021-08-23 11:52:52 +08:00 1488 次点击
    这是一个创建于 1586 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:前端上传文件到七牛云,前端项目已经部署在服务器 A 上,本地通过 js 上传一个 100MB 的文件到七牛云
    问题:内部上传流程
    A:这个 100MB 的文件是先上传到服务器 A,然后在上传到七牛云,因为 js 无法读取本地文件?
    B:100MB 直接上传到七牛云?

    9 条回复    2021-08-24 10:06:14 +08:00
    orcusfox
        1
    orcusfox  
       2021-08-23 12:57:05 +08:00 via iPhone
    正确做法是在前端把文件分成 20*5 上传到七牛云
    orcusfox
        2
    orcusfox  
       2021-08-23 12:57:45 +08:00 via iPhone
    为啥无法读取?分片上传很成熟的,你去搜一下
    cxe2v
        3
    cxe2v  
       2021-08-23 14:20:52 +08:00
    js 无法读取本地文件?那网盘怎么传文件的?

    还是说你想要自动扫描硬盘上传文件?

    那我只能说你的思想有点危险
    renmu123
        4
    renmu123  
       2021-08-23 16:22:08 +08:00 via Android
    a,如果走 b,你会把七牛的 secret 会暴露在前端,很容易被黑掉滥用
    johnlin
        5
    johnlin  
    OP
       2021-08-23 16:33:47 +08:00
    @napsterwu
    @cxe2v
    @renmu123 可能我没表述清楚,我是负责后端的,前端上传文件到七牛云非要走我服务器,我跟他解释 100MB 的文件你如果走后端服务器,那流程就变成 100MB 文件先传到我后端,我在传到七牛云,相当于要耗费 200MB 的流量。
    他跟我说前端直接传 100MB 文件到七牛云还是一样要走我们自己的服务器,说 js 读取不了本地文件(所以我不太理解这个)
    renmu123
        6
    renmu123  
       2021-08-23 16:53:38 +08:00 via Android   1
    @johnlin 前端无法主动读取文件,只能由用户进行选择进行读取。
    我说的是前端上传会涉及安全问题
    Pythondr
        7
    Pythondr  
       2021-08-23 19:23:06 +08:00
    @renmu123 得了吧,现在哪个对象存储服务不支持临时 token 鉴权?正确的做法是前端去后台请求临时上传 URL,然后直接通过这个临时 tokenURL 上传到对象存储
    jifengg
        8
    jifengg  
       2021-08-24 08:59:37 +08:00
    一般我不说人菜,但这个“前端”是真菜,错误 1:“前端直接传 100MB 文件到七牛云还是一样要走我们自己的服务器”,错误 2:“js 读取不了本地文件”,错误 3:“就算前面两个错误都是对的,那也没有因果关系”。楼主你就被带偏了。
    正确做法是 @Pythondr 所说的。我觉得七牛云文档里应该有类似”最佳实践“之类的文档告诉你怎么传文件的。
    再说一句,虽然是做后端的,前端知识也要掌握一些,不然类似错误 2 这种自己都不了解,没法回击呀。
    johnlin
        9
    johnlin  
    OP
       2021-08-24 10:06:14 +08:00
    前端我以前做过一点,而且按照我的理解对于这种大文件应该直接走第三方对象存储直接上传,但是前端跟我说这个我真蒙了,找了半天资料也没有验证这种说法。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4124 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 10:09 PVG 18:09 LAX 02:09 JFK 05:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86