Fix image files presentation at blob view and diff view.

This commit is contained in:
takezoe
2013-06-19 19:11:56 +09:00
parent 1f195f1cb1
commit ac03a3a68d
3 changed files with 21 additions and 8 deletions

View File

@@ -1,14 +1,22 @@
package util
import org.apache.commons.io.FilenameUtils
import java.net.URLConnection
object FileTypeUtil {
def isImage(name: String): Boolean = FilenameUtils.getExtension(name).toLowerCase match {
case "jpg"|"jpeg"|"bmp"|"gif"|"png" => true
case _ => false
def getMimeType(name: String): String = {
val fileNameMap = URLConnection.getFileNameMap()
val mimeType = fileNameMap.getContentTypeFor(name)
if(mimeType == null){
"application/octeat-stream"
} else {
mimeType
}
}
def isImage(name: String): Boolean = getMimeType(name).startsWith("image/")
def isLarge(size: Long): Boolean = (size > 1024 * 1000)
}

View File

@@ -402,9 +402,13 @@ object JGitUtil {
import scala.collection.JavaConverters._
git.diff.setNewTree(newTreeIter).setOldTree(oldTreeIter).call.asScala.map { diff =>
DiffInfo(diff.getChangeType, diff.getOldPath, diff.getNewPath,
if(FileTypeUtil.isImage(diff.getOldPath) || FileTypeUtil.isImage(diff.getNewPath)){
DiffInfo(diff.getChangeType, diff.getOldPath, diff.getNewPath, None, None)
} else {
DiffInfo(diff.getChangeType, diff.getOldPath, diff.getNewPath,
JGitUtil.getContent(git, diff.getOldId.toObjectId, false).map(new String(_, "UTF-8")),
JGitUtil.getContent(git, diff.getNewId.toObjectId, false).map(new String(_, "UTF-8")))
}
}.toList
} else {
// initial commit

View File

@@ -24,11 +24,12 @@
<tr>
<td>
@if(diff.newContent != None || diff.oldContent != None){
<div id="diff-@i"></div>
<textarea id="newText-@i" style="display: none;">@diff.newContent.getOrElse("")</textarea>
<textarea id="oldText-@i" style="display: none;">@diff.oldContent.getOrElse("")</textarea>
<div id="diff-@i"></div>
<textarea id="newText-@i" style="display: none;">@diff.newContent.getOrElse("")</textarea>
<textarea id="oldText-@i" style="display: none;">@diff.oldContent.getOrElse("")</textarea>
} else {
Too big file not shown
Not supported
@*Too big file not shown*@
}
</td>
</tr>