我使用JFinal和FastDFS上传文件,文件会先上传到程序所在目录,然后才上传到FastDFS,请问哪里有问题呢?

image.png

看了一下代码,使用getFile()的时候已经把文件上传到程序的upload\image里面了,然后使用FastDFS组件上传文件的时候,是上传文件夹里面的视频上传到FastDFS目录,我想直接把这个文件上传到FastDFS文件服务器,不在程序目录保留该怎么处理呢

评论区

JFinal

2019-02-21 15:52

最好的办法是先用 getFile().getFile() 得到文件,然后上传到 FastDFS,然后再 getFile().getFile().delete() 删掉原文件

zb99908

2019-03-15 14:29

@JFinal 不好意思没注意到消息,但是这就意味着上传文件的时间是双倍的,目前是程序和FastDFS在一台电脑上(不过也很慢,因为是视频800多M,),最近比较忙,过两个月不忙了要再买一台服务器搭建FastDFS服务器,这样就导致,文件先上传到程序所在目录,然后再上传到另外一台服务器,我试过用不用getFile(),使用其他的包来获取输入流直接上传,也是一样的结果,,都会先上传到程序所在目录..不知道有没有好的解决办法呢?

JFinal

2019-03-16 12:05

@zb99908 通过 getRequest() 拿到 HttpServletRequest() 对象,然后解析出其中的上传文件,一边解析一边上传到 FastDFS 即可

解析的代码可以拿走 cos 或者 common fileupload 这类第三方中的代码

zb99908

2019-03-18 09:26

那个我看过,也是先保存到本地,然后进行上传的,除非 common fileupload 改源码..不然也不行,现在打算用亚马逊oss算了..主要项目急也没空看,谢谢大佬答复~!

热门反馈

扫码入社