怎么样通过golang获取上传文件大小的实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么样通过golang获取上传文件大小的实现相关的知识,希望对你有一定的参考价值。
参考技术A前端
<input type="file" name="fileA" id="fileA">
<button type="submit">提交</button>
</form>
后端gin
type Sizer interfaceSize() int64
file, header, err := c.Request.FormFile("fileA")
if err != nil
return "", err
fsize := file.(Sizer).Size()
if fsize > FILEMAXSIZE
return "", fmt.Errorf("文件太大")
参考技术B file, header, err := c.Request.FormFile("fileA")
if err != nil
return "", err
if header.Size > FILEMAXSIZE
return "", fmt.Errorf("文件太大")
IE8以上,用js获取上传文件大小和绝对路径的实现代码
js实现获取文件大小:var maxsize = 2*1024*1024;//定义最大为2M。
var errMsg = "上传的附件文件不能超过2M!";
var tipMsg = "您的浏览器暂不支持计算上传文件的大小,确保上传文件不要超过2M,建议使用IE、FireFox、Chrome浏览器。";
var browserCfg = ;
var ua = window.navigator.userAgent;
if (ua.indexOf("MSIE")>=1)
browserCfg.ie = true;
else if(ua.indexOf("Firefox")>=1)
browserCfg.firefox = true;
else if(ua.indexOf("Chrome")>=1)
browserCfg.chrome = true;
function checkfile()
try
var obj_file = document.getElementById("fileuploade");
if(obj_file.value=="")
alert("请先选择上传文件");
return;
var filesize = 0;
if(browserCfg.firefox || browserCfg.chrome )
filesize = obj_file.files[0].size;
else if(browserCfg.ie)
var obj_img = document.getElementById(\'tempimg\');
obj_img.dynsrc=obj_file.value;
filesize = obj_img.fileSize;
else
alert(tipMsg);
return;
if(filesize==-1)
alert(tipMsg);
return;
else if(filesize>maxsize)
alert(errMsg);
return;
else
alert("文件大小符合要求");
return;
catch(e)
alert(e);
js实现获取绝对路径:
function readFile(fileBrowser)
if (navigator.userAgent.indexOf("MSIE") != -1)
return getFilePath(fileBrowser);
else if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Mozilla") != -1)
return getFilePathWithFF(fileBrowser);
else
return;
function getFilePath(fileBrowser)
alert("ie");
alert(fileBrowser.value);
function getFilePathWithFF(fileBrowser)
try
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
catch(e)
alert(\'由于浏览器安全问题 请按照以下设置 [1] 地址栏输入 "about:config" ; [2] 右键 新建 -> 布尔值 ; [3] 输入 "signed.applets.codebase_principal_support" (忽略引号).\');
return;
var fileName = fileBrowser.value;
alert("firefox");
alert( fileName);
参考技术A var f = document.getElementById("file1").files;
f[0].size表示第一个文件的大小。。支持IE10以上版本。。。路径好像受保护的。。没法得到。。
以上是关于怎么样通过golang获取上传文件大小的实现的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot当文件上传大小限制超过获取MultipartException而不是MaxUploadSizeExceededException