使用若依系统时遇到的文件上传下载的问题

使用若依系统时遇到的文件上传下载的问题

我是用的是若依分离版本,在上传下载的时候遇到一些问题,一次纪录下来,避免重复踩坑。

1.上传文件只能使用绝对路径,但是如果服务器没有创建文件的权限,就会报错。
这个时候要使用相对路径的话就要自己设置了,然后拼接路径将文件上传到这个位置。
此处的basePath是自己应用的路径,filePath是自己yml中配置的装文件或图片的文件夹路径。

            //获取相对路径
            File f = new File("");
            String basePath = f.getCanonicalPath();
            String fileName = FileUploadUtils.upload( basePath+filePath, file);

2.后台管理系统列表显示图片问题
这里有个问题就是,如果要列表显示图片,那图片的上传后返回给后端的格式就是http://ip:端口号/profile/…
但是这里返回的是/profile/…,如果要在上传那里fileName,和url都使用serverConfig.getUrl()加上http的话新增的弹出框又不回显了。此处还有一个坑就是,serverConfig.getUrl()获取的是nginx代理之后的端口号,无法访问代理之后的端口号,所以处理一下。

         String[] split = serverConfig.getUrl().split(":");
         String url = split[0]+":"+split[1]+":"+port;
         url = url + fileName;

此处我的解决办法就是,如果列表中要显示图片,上传文件那里里不处理,然后前端传过来的时候再按照上面方式给他加上http://这样的话前端也能回显,列表也能直接展示。
3.下载问题
这里的下载路径需要处理一下,自己打断点看下下载路径是否正确的对应文件的真实路径。不正确的处理一下,可能会出现多了个download,profile之类的,截取掉就好了,别忘了“/”。
4.将byte[]按照若依的上传方式上传图片代码如下(想要变成其他格式的自己手动更改),此处是获取微信的跳转二维码,返回的链接可以直接访问。

    @SneakyThrows
    @Override
    public int insertTActive(Active active) throws IOException {
   
        active.setCreateTime(DateUtils.getNowDate()

你可能感兴趣的:(若依,java,开发语言)