diff --git a/build.sbt b/build.sbt index 547d302..60f534e 100644 --- a/build.sbt +++ b/build.sbt @@ -49,6 +49,7 @@ "com.github.bkromhout" % "java-diff-utils" % "2.1.1", "org.cache2k" % "cache2k-all" % "1.0.0.CR1", "com.enragedginger" %% "akka-quartz-scheduler" % "1.4.0-akka-2.3.x" exclude("c3p0","c3p0"), + "net.coobird" % "thumbnailator" % "0.4.8", "org.eclipse.jetty" % "jetty-webapp" % JettyVersion % "provided", "javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided", "junit" % "junit" % "4.12" % "test", diff --git a/src/main/scala/gitbucket/core/controller/ControllerBase.scala b/src/main/scala/gitbucket/core/controller/ControllerBase.scala index 5db473f..0af53cc 100644 --- a/src/main/scala/gitbucket/core/controller/ControllerBase.scala +++ b/src/main/scala/gitbucket/core/controller/ControllerBase.scala @@ -20,6 +20,8 @@ import scala.util.Try +import net.coobird.thumbnailator.Thumbnails + /** * Provides generic features for controller implementations. @@ -225,10 +227,9 @@ } else { fileId.map { fileId => val filename = "avatar." + FileUtil.getExtension(session.getAndRemove(Keys.Session.Upload(fileId)).get) - FileUtils.moveFile( - new java.io.File(getTemporaryDir(session.getId), fileId), - new java.io.File(getUserUploadDir(userName), filename) - ) + Thumbnails.of(new java.io.File(getTemporaryDir(session.getId), fileId)) + .size(324, 324) + .toFile(new java.io.File(getUserUploadDir(userName), filename)) updateAvatarImage(userName, Some(filename)) } }