在grails中将文件大小从字节转换为KB



我的GSP页面有以下代码:

<div class='fieldcontain required'>
<leve><b>Banner File Size:</b></leve>
<leve>${this.game.bannerData.size()}</leve>
</div>

我的域名是这样的:

class Game {
@Deprecated
byte[] thumbnailData
Document thumbnail
String thumbnailContentType
String thumbnailFileName
static hasMany = [requiredSkills: SkillLevel, maxScores: Integer]
static constraints = {
thumbnailData nullable: true, display: false
thumbnailContentType nullable: true, display: false
thumbnailFileName nullable: true, display: false
}
static mapping = {
thumbnailData column: 'thumbnail', type: 'image'
bannerData column: 'banner', type: 'image'
}

我应该使用什么逻辑才能使${this.game.bannerData.size((}返回KB大小而不是字节大小?

您尝试过org.apache.commons.io.FileUtils吗?

根据:https://kodejava.org/how-do-i-create-a-human-adable-file-size/

package org.kodejava.example.commons.io;
import org.apache.commons.io.FileUtils;
import java.io.File;
public class ReadableFileSize {
public static void main(String[] args) {
File file = new File("/Users/kodejava/Downloads/Java/JDK/jdk-6u7-linux-i586.bin");
long size = file.length();
String display = FileUtils.byteCountToDisplaySize(size); //https://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html#byteCountToDisplaySize-long-
System.out.println("Name    = " + file.getName());
System.out.println("Size    = " + size);
System.out.println("Display = " + display);
}
}

结果:

Name    = jdk-6u7-linux-i586.bin
Size    = 78482905
Display = 74 MB

最新更新