springbootプロジェクトはCKEditorバージョン+ ckfinderを使用します。java -jarジャーパケット開始し、リッチテキストボックスを使用して、JARパッケージにパッケージ化。
写真をアップロードする際ckfinderのカスタムプロファイルは、例外があったので、
DefaultResourceLoaderローダー= 新しいDefaultResourceLoader(); ストリングabsolutePath = loader.getResource(この .xmlFilePath).getFile()getAbsolutePath()。
例外をスロー:
java.io.FileNotFoundException:クラスパスリソース[ckfinder-config.xmlには]絶対に解決できないファイルには存在しないので、パスにファイル jarファイル:システムファイル:/ E:/開発/ VCS / GIT / dmahzForum / dmahzForum /目標/ dmahz-forum- 0.0。1 -SNAPSHOT.jar!/ BOOT-INF /クラス!/ ckfinder- config.xmlに org.springframework.util.ResourceUtils.getFileで(ResourceUtils.java:217 ) org.springframework.core.io.AbstractFileResolvingResource.getFileで(AbstractFileResolvingResource.java:131 ) cn.dmahz.config.CKFinderConfiguration.checkIfReloadConfigで(CKFinderConfiguration.java:197 ) com.ckfinder.connector.configuration.ConfigurationFactory.getConfigurationで(ConfigurationFactory.java:59 ) でcom.ckfinder.connector.configuration.ConfigurationPathBuilder.getBaseDir(ConfigurationPathBuilder.java:55 ) でcom.ckfinder.connector.configuration.ConfigurationFactory.getBaseFolder(ConfigurationFactory.java:189 ) com.ckfinder.connector.configuration.ConfigurationFactory.updateResourceTypesPaths(:ConfigurationFactory.javaにおける151)
いくつかの方法をテストし、結果がのgetInputStream(でファイルの内容を取得するための唯一の方法である)流れ、それ以外の場合は、上記の例外がスローされます;;;
以下のように変更した後、次のとおりです。
ClassPathResource classPathResourceは= 新しい ClassPathResource( "ckfinder-config.xmlが" ); ストリングパス1 = classPathResource.getPath()。 InputStream InputStreamは = classPathResource.getInputStream()。 System.err.println( "パス1:" + パス1)。 System.err.println( "InputStreamの:" + InputStreamの+ "サイズ:" + inputStream.available());
あなたは問題なく実行できることを証明します