关于获取上传文件大小的问题

关于获取上传文件大小的问题,第1张

这个无需用jquery, 但是浏览器必须要支持html5,

假设页面上有一个文件

<input type="file" id="file_input" />

var input = document.getElementById("file_input")

//文件域选择文件时, 执行readFile函数

input.addEventListener('change',readFile,false)

function readFile(){

var file = this.files[0]

console.log("文件名:"+file.name)

console.log("文件类型:"+file.type)

console.log("文件大小:"+file.size)

}

有一种叫jspsmartupload的包用来简化文件上传下载的编写

里面可以获取文件大小

//取得文件

com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0)

//取得文件名

String fileName = myFile.getFileName()

//取得文件大小

int fileSize = myFile.getSize()

这是基于spring架构的上传文件支持多个文件上传,拿到file对象后,直接file.size()就可以获取文件的大小,

if (request instanceof MultipartHttpServletRequest) {

MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request

for (Iterator it = multipartHttpServletRequest.getFileNames()it.hasNext()) {

String key = (String) it.next()

MultipartFile file = multipartHttpServletRequest.getFile(key)

String originalFilename = file.getOriginalFilename()

long size = file.getSize()//文件大小需要转换成KB或M

if (StringUtils.isNotBlank(originalFilename)) {

String suffixName = originalFilename.indexOf(".") == -1 ? "" : originalFilename.substring(originalFilename.lastIndexOf(".") + 1).toLowerCase()

try {

InputStream inputStream = file.getInputStream()

byte[] copyToByteArray = FileCopyUtils.copyToByteArray(inputStream)

} catch (IOException e) {

e.printStackTrace()

}

}

}

}

1、php.ini:upload_max_filesize 所上传的文件的最大大小。默认值2M。

2、php.ini:memory_limit 本指令设定了一个脚本所能够申请到的最大内存字节数,默认值8M。如果不需要任何内存上的限制,必须将其设为 -1。如果内存不够,则可能出现错误:Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

3、php.ini:post_max_size 设定POST数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11538232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存