目前的jfinal通过getFile(),可以直接把上传的文件保存到upload文件夹。
现在因为要直接把上传文件放到MinIO里,如果通过getFile(),就是先把上传的文件写到服务器上,然后再调用MinIO接口把文件发送到MinIO上。MinIO可以传递InputStream直接把流保存起来。这样就不用先写到服务器上,而直接把上传的文件流写到MinIO里。
这中情况下,就需要拿到上传的文件流(可能会一次上传多个文件,那就得拿到多个文件流)和上传的原始文件名。并且拿到流后,还得能正确解析到form表单的数据。@JFinal @杜福忠 能提供一个思路或则方法吗?感谢!
不过自己撸一个也很简单的,https://jfinal.com/doc/3-11
cos源码里面有解析http文件协议的代码,直接复制出来,改改FilePart就可以了。
还可以用其他软件比如:JuiceFS 它可以把 上传文件的目录挂载到OSS上,这个应该是Minio类软件。这样就不动JF的代码,getFiles的时候new MultipartRequest(request)就直接传到云服务器了,读取也是正常用File就可以