function checkFileType(name,file){
var extArray = new Array(".doc",".docx")
var allowSubmit = false
if (!file){
return
}
while (file.indexOf("\\") != -1){
file = file.slice(file.indexOf("\\") + 1)
}
var ext = file.slice(file.indexOf(".")).toLowerCase()
for (var i = 0i <extArray.lengthi++) {
if (extArray[i] == ext){
allowSubmit = true
break
}
}
if(!allowSubmit){
alert("只能上传以下格式的文件:"+ (extArray.join("")) + "\n请重新选择再上传.")
document.getElementById(name).value = ""
}
}
其中:extArray是要求文件类型。可自行定义。
2.引入jQuery外部文件
jquery-2.1.4.min.js
3.编写js代码
$(function () {
$('#txtfilePath1').uploadReview({
width: 350,
height: 350,
target: '#uploadReview1_content'
})
})
其中:txtfilePath1是input:file。width,height是预览图片的宽度和高度。target是显示预览图片的位置。
4.编写jsp页面代码
<body>
<input type="text" class="yourClassName" name="filePath1" id="filePath1"/>
<input type="file" id="txtfilePath1" name="txtfilePath1" style="display:none">
<input type="button" onclick="txtfilePath1.click()" id="fileup1" name="fileup1" class="searchThing"value="上传">
</body>
注: 这个是很久以前在网上看到的,就整理了下来,但是这么久都没用过,所以也没调试过,你自己试一试研究研究, 再来网上很多博客里,他们写的很详细的,可以去看看
提交页面表单<form action="up.jsp" enctype="multipart/form-data" method="post">
<input type="file" name="file">
<input type="submit" value="确定">
</form>
上传页面up.jsp
<%@page import="java.io.FileWriter"%>
<%@ page language="java" contentType="text/htmlcharset=UTF-8"
import="java.io.*"
pageEncoding="UTF-8"%>
<%
/**
协议头四行内容
45 -----------------------------7de231211204c4
80 Content-Disposition: form-dataname="file"filename="xx.txt"
26 Content-Type: text/plain
2
标记文件结尾
-----------------------------7de231211204c4--
**/
ServletInputStream sin = request.getInputStream()
byte[] buffer = new byte[1024 * 8]
int length = 0, row = 0
String mark = ""
String filename = ""
while ((length = sin.readLine(buffer, 0, buffer.length)) >0) {
out.println(length + "" + new String(buffer, 0, length, "UTF-8") + "<br>")
String s = new String(buffer, 0, length, "UTF-8")
if (row == 0)
mark = s.trim()
else if (s.indexOf("filename=") >0) {
int end = s.lastIndexOf("\"")
int start = s.substring(0, end).lastIndexOf("\"")
filename = s.substring(start + 1, end)
} else if ("".equals(s.trim()))
break
row ++
}
out.println("filename:" + filename + "<br>")
filename = request.getRealPath("/") + "../" + filename
FileOutputStream fout = new FileOutputStream(filename)
while ((length = sin.readLine(buffer, 0, buffer.length)) >0) {
String s = new String(buffer, 0, length)
if (s.startsWith(mark))
break
fout.write(buffer, 0, length)
}
fout.flush()
fout.close()
File f = new File(filename)
out.println(f.exists())
out.println(f.getAbsolutePath())
%>
这个是我以前用的一个用jsp上传的,servlet是一样的,你可以自己修改下。普通参数也是可以接受的
在jsp页面中你需要导入jsmart的中文jar包,如果你需要的话可以密我,我邮箱发给你
上传页面upload.html
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8"/>
</head>
<body>
<form action="uploadfile.jsp" method="post" enctype="multipart/form-data">
<table width="380" border="0" align="center" cellpadding="0" cellspacing="0" style="font-size:12px">
<tr>
<td height="40" align="right">节目名称:</td>
<td><input type="text" style="WIDTH: 210px" id="mcdb_content" name="mcdb_content" /></td>
</tr>
<td height="40" align="right">节目链接地址:</td>
<td><input type="text" style="WIDTH: 210px" id="linkUrl" name="linkUrl" /></td>
</tr>
<tr>
<td height="40" align="right" valign="middle">
上传焦点图片:</td>
<td><input type="file" name="upfile" id="file"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
处理上传文件的页面uploadfile.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="com.jspsmart.upload.*" %>
<%
SmartUpload mySmartUpload =new SmartUpload()
//上传文件的限制大小
long file_size_max=4000000
String fileName2="",ext="",testvar=""
//应保证在根目录中有此目录的存在(也就是说需要自己建立相应的文件夹)
String url="/upload/"
//初始化
mySmartUpload.initialize(pageContext)
//只允许上载此类文件
try {
mySmartUpload.setAllowedFilesList("bmp,jpg,tiff,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw")//此处的文件格式可以根据需要自己修改
//上载文件
mySmartUpload.upload()
} catch (Exception e){
//上传类型出现异常
%>
<SCRIPT language=javascript>
alert("只允许上传图片")
window.location='upload.html'
</script>
<%
}
try{
//得到上传的文件
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0)
//如果文件获得为空
if (myFile.isMissing()){%>
<SCRIPT language=javascript>
alert("请先选择要上传的文件")
window.location='upload.html'
</script>
<%}
//得到了上传的文件
else{
//String myFileName=myFile.getFileName()//取得上载的文件的文件名
ext= myFile.getFileExt()//取得后缀名
int file_size=myFile.getSize()//取得文件的大小
String saveurl=""
//如果文件没有超过限制上传的大小
if(file_size<file_size_max){
//更改文件名,取得当前上传时间的毫秒数值
Calendar calendar = Calendar.getInstance()
String filename = String.valueOf(calendar.getTimeInMillis())
saveurl=application.getRealPath("/")+url
String filenamea=""
//保存路径
saveurl+=filename+"."+ext
filenamea+=filename+"."+ext
//接受普通参数
Request req = mySmartUpload.getRequest()
String bt=(String)req.getParameter("mcdb_content")
String linkurl = (String)req.getParameter("linkUrl")
myFile.saveAs(saveurl,SmartUpload.SAVE_PHYSICAL)
out.print(filenamea)
}
}
}catch (Exception e){
out.print(e.toString())
}
%>
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)