如何利用smartupload上传文件

如何利用smartupload上传文件,第1张

首先要导入SmartUpload.jar包

示例:

index.jsp

<body>

<form action="1.jsp" method="post" enctype="multipart/form-data">

<input type="text" name="pcname"/>

<input type="file" name="pic"/>

<input type="submit" value="上传"/>

</form>

</body>

1.jsp

<body>

<%

SmartUpload smart = new SmartUpload()//实例化上传组件

String name=smart.getRequest().getParameter("pcname")//获取其他表单元素值(混合表单)

smart.initialize(pageContext) //初始化上传 *** 作

smart.upload()//上传 *** 作

smart.save("upload")//将上传文件保存在upload文件中

//smart.getFiles().getFile(i).saveAs(fileName)//当上传多文件是,可以对文件重命名,以免覆盖原文件

%>

</body>

<img src="/upload/dog.gif"/>

注:当需要限制上传文件类型时,可通过用正则表达式来判断要上传的文件后缀是否符合。

if(smart.getFiles().getFile(0)).getFileName().matches("\\w+\\.(jpg|gif)$")){

//.....

}

上面表示的是只允许后缀为jpg或gif的文件上传

// 新建一个SmartUpload对象 SmartUpload su = new SmartUpload()// 上传初始化 su.initialize(pageContext)// 设定上传限制 // 1.限制每个上传文件的最大长度。 // su.setMaxFileSize(10000)// 2.限制总上传数据的长度。 // su.setTotalMaxFileSize(20000)// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 // su.setAllowedFilesList("doc,txt")// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, jsp,htm,html扩展名的文件和没有扩展名的文件。 // su.setDeniedFilesList("exe,bat,jsp,htm,html,,")// 上传文件 su.upload().

参考这个.

SmartUpload mySmartUpload =new SmartUpload()

String deviceId =Sequence.getInstance().getSeqNumber("deviceInf")

// 初始化

final String upFileType="jpg|JPG|GIF|gif|bmp|BMP" //上传文件类型

final int MAXFILESIZE=100000 //上传文件大小限制

String errMsg=null //错误信息

boolean err=false//错误标志

int fileSize=0 //文件大小

String url="images/" //应保证在根目录中有此目录的存在

String fileName = ""

String fileType =""

String normalPicName = deviceId+"n"

String alarmPicName = deviceId+"a"

mySmartUpload.initialize(pageContext)

// 上传文件

mySmartUpload.upload()

//判断将要上传文件的总容量是否超过上限

int count = mySmartUpload.getSize()

if(count>MAXFILESIZE){

out.print ("<script>alert('上传失败!文件大小:"+count/1024+"K超出了限定的范围(最大"+ MAXFILESIZE/1024+"K)')this.history.go(-1)</script>")

//response.sendRedirect("")

}

// 循环取得上传所有文件

else{

for(int i=0i<mySmartUpload.getFiles().getCount()i++){

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

if (!myFile.isMissing()) {

String myFileName=myFile.getFileName()//得到文件名

//out.println(myFileName)

//if(myFileName.length()>0){//取得不带后缀的文件名

//String subFileName=myFileName.substring(0,myFileName.lastIndexOf('.'))

//}

fileType=myFile.getFileExt()//得到文件扩展名

fileType=fileType.toLowerCase() //将扩展名转换成小写

if (upFileType.indexOf(fileType)==-1){

err=true

errMsg="文件"+myFileName+"上传失败!只允许上传以下格式的文件:"+upFileType

}

//得到单个文件大小

//fileSize+=myFile.getSize()

//if (err==false&&fileSize>MAXFILESIZE){

// err=true

// errMsg="上传失败!文件大小超出了限定的范围(最大"+MAXFILESIZE/1024+"K)"

//}

if(err==false){

//取得路径

//String adss=getServletContext().getRealPath("/")+"JSP\\"

//String trace=adss+myFileName

//保存文件

//String newFileName="001."+fileType //可自动生成文件名以防止同名覆盖

//myFile.saveAs(trace)

//myFile.saveAs("enterprise/images/"+myFileName)

Calendar calendar = Calendar.getInstance()

fileName = String.valueOf(calendar.getTimeInMillis())

if(i<=0){

normalPicName=normalPicName+"."+fileType

String saveurl=request.getRealPath("/")+url

saveurl+=normalPicName //保存路径

myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL)

}

else{

alarmPicName=alarmPicName+"."+fileType

String saveurl=request.getRealPath("/")+url

saveurl+=alarmPicName //保存路径

myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL)

}

}else{

out.print ("<script>alert('"+errMsg+"')this.history.go(-1)</script>")

}

}

}


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

原文地址: http://outofmemory.cn/tougao/11480385.html

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

发表评论

登录后才能评论

评论列表(0条)

保存