请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

1.0版本本地测试正常,部署到阿里云无法增加店铺

老师好, 1.0版本的项目在本地正常,但是部署到阿里云,无法增加店铺是怎么回事

报错java.io.FileNotFoundException: /Users/baidu/work/image/upload/images/item/shop/71/2018041714153836324.jpg (No such file or directory)


正在回答 回答被采纳积分+3

插入代码

3回答

翔仔 2018-04-17 15:08:47

感觉同学当时的店铺专有文件夹目录都没创建出来,你语句里面有没有用makeDirPath这一句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static String generateThumbnail(ImageHolder thumbnail, String targetAddr) {
    // 获取不重复的随机名
    String realFileName = getRandomFileName();
    // 获取文件的扩展名如png,jpg等
    String extension = getFileExtension(thumbnail.getImageName());
    // 如果目标路径不存在,则自动创建
    makeDirPath(targetAddr);
    // 获取文件存储的相对路径(带文件名)
    String relativeAddr = targetAddr + realFileName + extension;
    logger.debug("current relativeAddr is :" + relativeAddr);
    // 获取文件要保存到的目标路径
    File dest = new File(PathUtil.getImgBasePath() + relativeAddr);
    logger.debug("current complete addr is :" + PathUtil.getImgBasePath() + relativeAddr);
    logger.debug("basePath is :" + basePath);
    // 调用Thumbnails生成带有水印的图片
    try {
        Thumbnails.of(thumbnail.getImage()).size(200200)
                .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(basePath + "/watermark.jpg")), 0.25f)
                .outputQuality(0.8f).toFile(dest);
    catch (IOException e) {
        logger.error(e.toString());
        throw new RuntimeException("创建缩略图失败:" + e.toString());
    }
    // 返回图片相对路径地址
    return relativeAddr;
}


0 回复 有任何疑惑可以回复我~
  • 提问者 慕勒3469759 #1
    // 获取不重复的随机名
    		String realFileName = getRandomFileName();
    		// 获取文件的扩展名如png,jpg等
    		String extension = getFileExtension(thumbnail.getImageName());
    		// 如果目标路径不存在,则自动创建
    		makeDirPath(targetAddr);
    		// 获取文件存储的相对路径(带文件名)
    		String relativeAddr = targetAddr + realFileName + extension;
    		logger.debug("current relativeAddr is :" + relativeAddr);
    		// 获取文件要保存到的目标路径
    		File dest = new File(PathUtil.getImgBasePath() + relativeAddr);
    		logger.debug("current complete addr is :" + PathUtil.getImgBasePath() + relativeAddr);
    		logger.debug("basePath is :" + basePath);
    		// 调用Thumbnails生成带有水印的图片
    回复 有任何疑惑可以回复我~ 2018-04-17 15:10:32
  • 提问者 慕勒3469759 #2
    老师我的代码和您的一样啊
    回复 有任何疑惑可以回复我~ 2018-04-17 15:11:04
  • 提问者 慕勒3469759 #3
    老师我的代码和您的一样,但是确实创建不出来
    回复 有任何疑惑可以回复我~ 2018-04-17 15:12:05
翔仔 2018-04-17 14:59:43

同学好,你的/Users/baidu/work/image/upload/images/item/shop/71/2018041714153836324.jpg  2018041714153836324.jpg这个文件在该路径下存在么,这里就是找不到这个文件的意思呢。

并且/home/work/apache-tomcat-8.0.50/webapps/o2o/WEB-INF/classes/ 这个路径下有水印不

0 回复 有任何疑惑可以回复我~
  • 提问者 慕勒3469759 #1
    老师好,这个/Users/baidu/work/image/upload/images/item/shop/71/2018041714153836324.jpg文件路径不存在,这个是新增店铺的路径,应该自动创建的。在本地创建成功,但是在阿里云失败
    回复 有任何疑惑可以回复我~ 2018-04-17 15:02:19
  • 提问者 慕勒3469759 #2
    水印的图片在阿里云存在的老师
    [work@iZwz97cj14ulhg4t1g82ptZ ~]$ cd /home/work/apache-tomcat-8.0.50/webapps/o2o/WEB-INF/classes/
    [work@iZwz97cj14ulhg4t1g82ptZ classes]$ ls
    AreaDao.xml         PersonInfoDao.xml       spring-dao.xml
    com                 ProductCategoryDao.xml  spring-service.xml
    HeadLineDao.xml     ProductDao.xml          spring-web.xml
    jdbc.properties     ProductImgDao.xml       watermark.jpg
    logback.xml         ShopCategoryDao.xml     WechatAuthDao.xml
    mapper              ShopDao.xml
    mybatis-config.xml  spring
    回复 有任何疑惑可以回复我~ 2018-04-17 15:06:53
提问者 慕勒3469759 2018-04-17 14:56:27

但是debug中

2018-04-17 14:34:09.237 [http-nio-8080-exec-7] DEBUG com.dn.o2o.util.ImageUtil - current relativeAddr is :/upload/images/item/shop/76/2018041714340984406.jpg

2018-04-17 14:34:09.237 [http-nio-8080-exec-7] DEBUG com.dn.o2o.util.ImageUtil - current complete addr is :/Users/baidu/work/image/upload/images/item/shop/76/2018041714340984406.jpg

2018-04-17 14:34:09.237 [http-nio-8080-exec-7] DEBUG com.dn.o2o.util.ImageUtil - basePath is :/home/work/apache-tomcat-8.0.50/webapps/o2o/WEB-INF/classes/


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号