321嘎嘣脆 2023-05-09 17:17 采纳率: 0%
浏览 26
已结题

spring boot jpa,微信小程序开发

想要寻求大家的指点,关于微信小程序上传图片到本地数据库中,Java后台获取图片链接无法访问,这个图片也无法返回小程序端显示?(时间上有问题,接受有偿帮助)
图片无法存储到static下,也无法访问其图片链接,小程序端无法显示
    //    添加笔记带图片
//文件上传控制类,是核心配置类,Win <->Linux
//    @RequestMapping(value = "/addTexts", produces = "application/json")
    @PostMapping(value = "/addTexts")
    public Text uploadPicture(HttpServletRequest request,
                                @RequestParam("userId") Long id,
                                @RequestParam("text") String content,
                                @RequestParam("tag") String tag) throws IOException {

        request.setCharacterEncoding("utf-8"); //设置编码
        MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
        //对应前端的upload的name参数"image"
        MultipartFile multipartFile = req.getFile("file");
        System.out.println("传入的文件"+multipartFile);

        //realPath填写电脑文件夹所在路径
        String realPath = "D:\\upLoadImg";

        //格式化时间戳
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");

        String nowTime = sdf.format(new Date().getTime());
        System.out.println("*******************nowTime---"+nowTime);
        //裁剪用户id
        String originalFirstName = multipartFile.getOriginalFilename(); //获取文件名
        System.out.println("*******************originalFirstName---"+originalFirstName);

        String picFirstName = originalFirstName.substring(0, originalFirstName.indexOf("."));
        System.out.println("*******************picFirstName---"+picFirstName);

        //取得图片的格式后缀
        String originalLastName = multipartFile.getOriginalFilename();
        String picLastName = originalLastName.substring(originalLastName.lastIndexOf("."));
        System.out.println("*******************picLastName---"+picLastName);

        //拼接:名字+时间戳+后缀
        String picName = nowTime+"." + picFirstName + picLastName;
        System.out.println("*******************picName---"+picName);
//        String picName1 = picFirstName+picLastName;
        //图片上传成功之后的路径

        ApplicationHome applicationHome=new ApplicationHome(this.getClass());

        String imgPath=applicationHome.getDir().getParentFile().getParentFile().getAbsolutePath()+
                "\\src\\main\\resources\\static\\images";

        System.out.println("*******************imgPath----"+imgPath);

        File file = new File(imgPath, picName);

//添加如下代码


        System.out.println("这里是图片上传路径——imgPath+picName"+file);
        String path=imgPath+picName;
        try {


//            上传图片操作
            multipartFile.transferTo(file);

            System.out.println("添加图片成功!");

            System.out.println("图片上传成功后的路径"+path);


        } catch (IOException e) {
            e.printStackTrace();
            imgPath = " ";

        } catch (IllegalStateException e) {
            e.printStackTrace();
            imgPath = " "; 
        }

        User user = userService.findUser(id);
        System.out.println("根据传入的ID找到用户"+user);
        Text text = new Text();
        text.setContent(content);
        text.setTag(tag);
        text.setPicture(path);
        text.setUser(user);
        System.out.println("笔记添加成功");
        return textService.addText(text);

    }



能够获取到小程序端的数据,但是无法将图片信息存储在static下,在浏览器中无法访问图片
将图片上传到本地服务器上,图片能够在浏览器中访问,然后回传到向程序端访问有显示会
想要有图片效果
  • 写回答

1条回答 默认 最新

  • Soulic 2023-05-09 19:47
    关注

    imgPath的路径取错了,从src/main开始取,打成jar包之后就没有了

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月10日
  • 创建了问题 5月9日

悬赏问题

  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊