老师我的路径应该是对的吧,怎么上传图片为空呢?

老师我的路径应该是对的吧,怎么上传图片为空呢?

D:\java\bin\java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:53866,suspend=y,server=n -ea -Dfile.encoding=UTF-8 -classpath "D:\IDEA\IntelliJ IDEA 2016.3.8\lib\idea_rt.jar;D:\IDEA\IntelliJ IDEA 2016.3.8\plugins\junit\lib\junit-rt.jar;D:\java\jre\lib\charsets.jar;D:\java\jre\lib\deploy.jar;D:\java\jre\lib\ext\access-bridge-64.jar;D:\java\jre\lib\ext\cldrdata.jar;D:\java\jre\lib\ext\dns_sd.jar;D:\java\jre\lib\ext\dnsns.jar;D:\java\jre\lib\ext\jaccess.jar;D:\java\jre\lib\ext\jfxrt.jar;D:\java\jre\lib\ext\localedata.jar;D:\java\jre\lib\ext\nashorn.jar;D:\java\jre\lib\ext\sunec.jar;D:\java\jre\lib\ext\sunjce_provider.jar;D:\java\jre\lib\ext\sunmscapi.jar;D:\java\jre\lib\ext\sunpkcs11.jar;D:\java\jre\lib\ext\zipfs.jar;D:\java\jre\lib\javaws.jar;D:\java\jre\lib\jce.jar;D:\java\jre\lib\jfr.jar;D:\java\jre\lib\jfxswt.jar;D:\java\jre\lib\jsse.jar;D:\java\jre\lib\management-agent.jar;D:\java\jre\lib\plugin.jar;D:\java\jre\lib\resources.jar;D:\java\jre\lib\rt.jar;D:\o4o\target\test-classes;D:\o4o\target\classes;C:\Users\Administrator\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\Administrator\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-core\4.3.7.RELEASE\spring-core-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\4.3.7.RELEASE\spring-beans-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-context\4.3.7.RELEASE\spring-context-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\4.3.7.RELEASE\spring-aop-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\4.3.7.RELEASE\spring-expression-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-jdbc\4.3.7.RELEASE\spring-jdbc-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-tx\4.3.7.RELEASE\spring-tx-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-web\4.3.7.RELEASE\spring-web-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\4.3.7.RELEASE\spring-webmvc-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-test\4.3.7.RELEASE\spring-test-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\javax\servlet\javax.servlet-api\4.0.0\javax.servlet-api-4.0.0.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.9.9\jackson-databind-2.9.9.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.9.9\jackson-core-2.9.9.jar;C:\Users\Administrator\.m2\repository\commons-collections\commons-collections\3.2\commons-collections-3.2.jar;C:\Users\Administrator\.m2\repository\org\mybatis\mybatis\3.4.4\mybatis-3.4.4.jar;C:\Users\Administrator\.m2\repository\org\mybatis\mybatis-spring\1.3.1\mybatis-spring-1.3.1.jar;C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\8.0.18\mysql-connector-java-8.0.18.jar;C:\Users\Administrator\.m2\repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;C:\Users\Administrator\.m2\repository\com\mchange\c3p0\0.9.5.4\c3p0-0.9.5.4.jar;C:\Users\Administrator\.m2\repository\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;C:\Users\Administrator\.m2\repository\net\coobird\thumbnailator\0.4.8\thumbnailator-0.4.8.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 com.imooc.o4o.service.ShopServiceTest

Connected to the target VM, address: '127.0.0.1:53866', transport: 'socket'

一月 11, 2020 6:00:47 下午 org.springframework.test.context.web.WebTestContextBootstrapper getDefaultTestExecutionListenerClassNames

信息: Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener]

一月 11, 2020 6:00:47 下午 org.springframework.test.context.web.WebTestContextBootstrapper getTestExecutionListeners

信息: Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@58c1c010, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@b7f23d9, org.springframework.test.context.support.DependencyInjectionTestExecutionListener@61d47554, org.springframework.test.context.support.DirtiesContextTestExecutionListener@69b794e2, org.springframework.test.context.transaction.TransactionalTestExecutionListener@3f200884, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@4d339552]

一月 11, 2020 6:00:47 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from class path resource [spring/spring-dao.xml]

一月 11, 2020 6:00:48 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from class path resource [spring/spring-service.xml]

一月 11, 2020 6:00:48 下午 org.springframework.web.context.support.GenericWebApplicationContext prepareRefresh

信息: Refreshing org.springframework.web.context.support.GenericWebApplicationContext@69930714: startup date [Sat Jan 11 18:00:48 GMT+08:00 2020]; root of context hierarchy

2020-01-11 18:00:49.872 [MLog-Init-Reporter] INFO  com.mchange.v2.log.MLog - MLog clients using slf4j logging.

2020-01-11 18:00:53.367 [main] INFO  com.mchange.v2.c3p0.C3P0Registry - Initializing c3p0-0.9.5.4 [built 23-March-2019 23:00:48 -0700; debug? true; trace: 10]

2020-01-11 18:00:54.939 [main] INFO  c.m.v2.c3p0.impl.AbstractPoolBackedDataSource - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 2, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 10000, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, contextClassLoaderSource -> caller, dataSourceName -> 1hgf8cha7152tkr51yfcpii|83298d7, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.cj.jdbc.Driver, extensions -> {}, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, forceSynchronousCheckins -> false, forceUseNamedDriverClass -> false, identityToken -> 1hgf8cha7152tkr51yfcpii|83298d7, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/o4o?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 40, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 10, numHelperThreads -> 3, preferredTestQuery -> null, privilegeSpawnedThreads -> false, properties -> {user=******, password=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, userOverrides -> {}, usesTraditionalReflectiveProxies -> false ]

2020-01-11 18:00:54.993 [main] WARN  com.mchange.v2.resourcepool.BasicResourcePool - Bad pool size config, start 3 < min 10. Using 10 as start.

2020-01-11 18:00:56.347 [main] DEBUG com.imooc.o4o.dao.ShopDao.insertShop - ==>  Preparing: insert tb_shop(owner_id,area_id,shop_category_id,shop_name,shop_desc,shop_addr,phone,shop_img,priority,create_time,last_edit_time,enable_status,advice) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?) 

2020-01-11 18:00:56.427 [main] DEBUG com.imooc.o4o.dao.ShopDao.insertShop - ==> Parameters: 1(Long), 2(Integer), 1(Long), 测试的店铺1(String), test1(String), test1(String), test1(String), null, null, 2020-01-11 18:00:56.267(Timestamp), 2020-01-11 18:00:56.267(Timestamp), 0(Integer), 审核中(String)

2020-01-11 18:00:56.488 [main] DEBUG com.imooc.o4o.dao.ShopDao.insertShop - <==    Updates: 1


com.imooc.o4o.exceptions.ShopOperationException: addShop error:addShopImg error:null


at com.imooc.o4o.service.serviceimpl.ShopServiceIml.addShop(ShopServiceIml.java:54)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)

at com.sun.proxy.$Proxy27.addShop(Unknown Source)

at com.imooc.o4o.service.ShopServiceTest.testAddShop(ShopServiceTest.java:46)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)

at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)

at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

at org.junit.runners.ParentRunner.run(ParentRunner.java:363)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)

at org.junit.runner.JUnitCore.run(JUnitCore.java:137)

at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)

at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)

at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)

at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)


一月 11, 2020 6:00:56 下午 org.springframework.web.context.support.GenericWebApplicationContext doClose

信息: Closing org.springframework.web.context.support.GenericWebApplicationContext@69930714: startup date [Sat Jan 11 18:00:48 GMT+08:00 2020]; root of context hierarchy

Disconnected from the target VM, address: '127.0.0.1:53866', transport: 'socket'


Process finished with exit code -1


http://img1.sycdn.imooc.com//climg/5e199dd50901bfed13260542.jpg

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

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿满 2020-01-11 19:27:29

同学你好,同学说的没有调试信息是指没有如下图片路径吗?

http://img1.sycdn.imooc.com//climg/5e19b0ac097c784b10950071.jpg

这里提示addShopImg error:null,也就是没有图片的意思,建议在addShopImg方法中打上断点,使用debug一步步执行,查看是哪一点报错,如:

http://img1.sycdn.imooc.com//climg/5e19b0ef09e07b1509230223.jpg

祝:学习愉快~

提问者 慕容2015448 2020-01-11 19:05:57

这是我的代码,老师帮忙看一下

package com.imooc.o4o.service.serviceimpl;

import com.imooc.o4o.dao.ShopDao;
import com.imooc.o4o.dto.ShopExecution;
import com.imooc.o4o.entity.Shop;
import com.imooc.o4o.enums.ShopStateEnum;
import com.imooc.o4o.exceptions.ShopOperationException;
import com.imooc.o4o.service.ShopService;
import com.imooc.o4o.util.ImageUtil;
import com.imooc.o4o.util.PathUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.io.File;
import java.util.Date;
@Service
public class ShopServiceIml implements ShopService{
   @Autowired
   private ShopDao shopDao;

   @Override
   @Transactional
   public ShopExecution addShop(Shop shop, File shopImg) {
       //空值判断
       if (shop==null){
           return new ShopExecution(ShopStateEnum.NULL_SHOP);
       }
       try{
           //给店铺信息赋初始值
           shop.setEnableStatus(0);
           shop.setCreateTime(new Date());
           shop.setLastEditTime(new Date());
           //添加店铺信息
           int effectedNum = shopDao.insertShop(shop);
           if (effectedNum<=0){
               throw new ShopOperationException("店铺创建失败");
           }else{
               if (shopImg!=null){
                   //存储图片
                   try{
                       addShopImg(shop,shopImg);
                   }catch (Exception e){
                       throw new ShopOperationException("addShopImg error:"+e.getMessage());
                   }
                   //更新图片的图片地址
                   effectedNum = shopDao.updateShop(shop);
                   if (effectedNum<=0){
                       throw new RuntimeException("图片更新地址失败");
                   }
               }
           }
       }catch (Exception e){
           throw new ShopOperationException("addShop error:"+e.getMessage());
       }
       return new ShopExecution(ShopStateEnum.CHECK,shop);
   }

   private void addShopImg(Shop shop, File shopImg) {
       //获取shop图片目录的相对值路径
       String dest = PathUtil.getShopImagePath(shop.getShopId());
       String shopImgAddr = ImageUtil.generateThumbnail(shopImg,dest);
       shop.getShopImg(shopImgAddr);
   }
}


package com.imooc.o4o.service;

import com.imooc.o4o.BaseTest;
import com.imooc.o4o.dto.ShopExecution;
import com.imooc.o4o.entity.Area;
import com.imooc.o4o.entity.PersonInfo;
import com.imooc.o4o.entity.Shop;
import com.imooc.o4o.entity.ShopCategory;
import com.imooc.o4o.enums.ShopStateEnum;
import com.imooc.o4o.exceptions.ShopOperationException;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Date;

import static org.junit.Assert.assertEquals;

/**
* Created by Administrator on 2020/1/10 0010.
*/
public class ShopServiceTest extends BaseTest {
   @Autowired
   private ShopService shopService;
   @Test
   public void testAddShop() throws ShopOperationException, FileNotFoundException {
       Shop shop = new Shop();
       PersonInfo owner = new PersonInfo();
       Area area = new Area();
       ShopCategory shopCategory = new ShopCategory();
       owner.setUserId(1L);
       area.setAreaId(2);
       shopCategory.setShopCategoryId(1L);
       shop.setOwner(owner);
       shop.setArea(area);
       shop.setShopCategory(shopCategory);
       shop.setShopName("测试的店铺1");
       shop.setShopDesc("test1");
       shop.setShopAddr("test1");
       shop.setPhone("test1");
       shop.setCreateTime(new Date());
       shop.setEnableStatus(ShopStateEnum.CHECK.getState());
       shop.setAdvice("审核中");
       File shopImg = new File("D:/image/lilei.jpg");
       ShopExecution se = shopService.addShop(shop,shopImg);
       assertEquals(ShopStateEnum.CHECK.getState(), se.getState());
   }
}


package com.imooc.o4o.util;


import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

/**
* Created by Administrator on 2020/1/8 0008.
*/
public class ImageUtil {
   private static String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
   private static final SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
   private static final Random r = new Random();
   private static Logger logger = LoggerFactory.getLogger(ImageUtil.class);

   /*
   * 将CommonsMultipartFile转换成File类
   * */
   public static File transferCommonsMultipartFileToFile(CommonsMultipartFile cFile){
       File newFile = new File(cFile.getOriginalFilename());
       try {
           cFile.transferTo(newFile);
       }catch(IllegalStateException e){
           logger.error(e.toString());
           e.printStackTrace();
       } catch (IOException e) {
           logger.error(e.toString());
           e.printStackTrace();
       }
       return newFile;
   }
   /*
   * 处理缩略图,并返回新生成图片的相对值路径
   * */
   public static String generateThumbnail(File thumbnail, String targetAddr) {
       String realFileName = getName();
       String extension = getFileExtension(thumbnail);
       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);
       try {
               Thumbnails.of(thumbnail).size(200, 200)
                       .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(basePath + "/watermark.jpg")), 0.25f)
                       .outputQuality(0.8).toFile(dest);
           } catch (IOException e) {
           logger.error(e.toString());
               e.printStackTrace();

       }
       return relativeAddr;
   }

   /*
   * 创建目标路径所涉及到的目录,即/home/work/xiangze/xxx.jpg
   * 那么 home work xiangze 这三个文件夹都得自动创建
   * */
   private static void makeDirPath(String targetAddr){
       String realFileParentPath = PathUtil.getImgBasePath()+targetAddr;
       File dirPath = new File(realFileParentPath);
       if(!dirPath.exists()){
           dirPath.mkdirs();
       }
   }
       /*
       * 生成随机文件名,当前年月日小时分钟秒钟+五位随机数
       * */

   private static String getName() {
       //获取随机的五位数
       int rannum = r.nextInt(89999) + 10000;
       String nowTimeStr = sDateFormat.format(new Date());
       return nowTimeStr + rannum;
   }
   /*
   * 获取输入文件流的扩展名
   * */
   private static String getFileExtension(File cFile){
       String originalFilename = cFile.getName();
       return originalFilename.substring(originalFilename.lastIndexOf("."));
   }

   public static void main(String[] args) throws IOException {
       Thumbnails.of(new File("D:/image/lilei.jpg")).size(200, 200)
               .watermark(Positions.BOTTOM_RIGHT,
                       ImageIO.read(new File(basePath + "/watermark.jpg")), 0.25f)
               .outputQuality(0.8f).toFile("D:/image/newlilei.jpg");
   }

}


package com.imooc.o4o.util;

/**
* Created by Administrator on 2020/1/9 0009.
*/
public class PathUtil {
   private static String seperator = System.getProperty("file.seperator");
   public static String getImgBasePath(){
       String os = System.getProperty("os.name");
       String basePath = "";
       if (os.toLowerCase().startsWith("win")){
           basePath = "D:/projectdev/imge/";
       }else {
           basePath = "/home/xiangze/image";
       }
       basePath.replace("/",seperator);
       return basePath;
   }

   public static String getShopImagePath(long shopId){
       String imagePath = "/upload/item/shop/"+shopId+"/";
       return imagePath.replace("/",seperator);

   }
}


确实存在这张照片的http://img1.sycdn.imooc.com//climg/5e19ac0109a92a0408300224.jpg

好帮手慕阿满 2020-01-11 18:35:57

同学你好,问一下同学D:\\image\\目录下是否存在lilei.jpg图片,图片名称是否正确。另外建议同学将(\\)改为(/)再试试。

祝:学习愉快~

  • 提问者 慕容2015448 #1
    还是不行,这张图片确实存在
    2020-01-11 18:48:22
  • 提问者 慕容2015448 #2
    老师,我感觉是不是保存路径出错了,老师可以把自己的保存路径给我看一下
    2020-01-11 18:50:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师