diff --git a/build.sbt b/build.sbt index ab09c78..c1acd19 100644 --- a/build.sbt +++ b/build.sbt @@ -46,6 +46,7 @@ "com.typesafe.akka" %% "akka-actor" % "2.3.15", "fr.brouillard.oss.security.xhub" % "xhub4j-core" % "1.0.0", "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 ef1a634..081d57b 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. @@ -224,10 +226,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)) } }