kisonlee 2009-08-22 14:39
浏览 297
已采纳

请教关于客户端验证上传图片大小的问题

我在服务器端也写了验证代码,可是只能返回一个错误提示,这样就破坏了原来的CSS格式,我还不太了解CSS

现在我想请教下,如何在客户端利用JS写一个代码验证上传图片的尺寸和大小,并对不符合要求的弹出警告,另外我看了下网上这方便的内容,都不太符合,而且我这个不需要预览(有个帖子说防止图片太大filesize返回-1,需要预览,不太懂),请大家帮忙,最后又代码样例可以参考,谢谢

或者怎么利用SERVER端验证,然后在客户端弹出警告也行,不会写这样的代码,总之不要破坏原来的CSS就行

下面是我的JSP,无法验证大小,不知道为啥

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="s" uri="/struts-tags"%>

function checkFile() { var upload = document.getElementById("upload"); var value = upload.value; if(value == "") { alert("请先选择图片文件!"); return false; } var fso = new ActiveXObject('Scripting.FileSystemObject'); var file = fso.GetFile(upload); window.onerror = window.oldOnError; alert(file.Size); var contentType = value.substr(value.lastIndexOf(".")).toLowerCase(); if (contentType == ".jpg") { img = document.createElement("img"); img.style.position = "absolute"; img.style.visibility = "hidden"; img.src = upload; if (upload.fileSize > 204800) { alert("图片尺寸请不要大于200KB"); return false; } else return true; } else { alert("只能上传jpg格式的图片"); return false; } return true; }




Upload JPG




选择图片:





[b]问题补充:[/b]
那可以不看代码,直接解决问题就好了
[b]问题补充:[/b]
大家帮帮我啊
  • 写回答

3条回答

  • 成富 2009-08-23 12:44
    关注

    在浏览器中用JS来直接访问上传的文件是不可以的。我看你在代码中用了IE的ActiveX控件,如果你的应用只兼容IE,我觉得用ActiveX也没什么不可以。貌似IE7和8会弹出警告吧。

    我对ActiveX控件不熟悉,所以也不知道为什么你的代码不工作。

    不过关于图片大小验证,我建议你使用服务端验证的方式。基本思路就是用iframe把上传的文件POST到服务端,服务器端拿到文件内容之后,就可以判断大小了,然后返回相应的消息代码,浏览器端就可以使用了。

    你所谓的破坏CSS,我不是很明白。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用