今天给各位分享jspjava上传头像的知识,其中也会对js上传头像功能进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、用Java如何实现头像上传2、用Java Web的jsp制作图片上传和显示如何实现3、jsp注册时头像上传4、JSP页面上传文件的问题5、JSP上传图片做头像报错 系统找不到指定文件6、jsp上传文件的问题
用Java如何实现头像上传
使用MyEclipse实现上传时,所选择的请求必须是POST请求,如下jsp:
body
h3 align=”left”
上传头像
/h3
br
form action=”UploadServlet” method=”post”
enctype=”multipart/form-data”
姓名:
input type=”text” name=”username”
br
头像:
input type=”file” name=”photo”
br
input type=”submit” value=”上传”
/form
/body
其次是需要添加上传的jar包commons-fileupload-1.3.1.jar、commons-io-2.4.jar
最后需要在Servlet中进行逻辑处理:
// 1、创建FileUpload对象
// (1)创建工厂
FileItemFactory factory = new DiskFileItemFactory();
// (2)创建FileUpload对象
ServletFileUpload upload = new ServletFileUpload(factory);
// (3)把请求中的所有数据转换成FileItem对象
try {
ListFileItem list = upload.parseRequest(request);
// (4)判断是文件域还是表单域,如果是表单域,则返回true
for (int i = 0; i list.size(); i++) {
if (list.get(i).isFormField()) {
// (5)获取input标签中name属性的值
if (list.get(i).getFieldName().equals(“username”)) {
// 输出提取到的具体的值
System.out.println(“用户姓名为:”
+ list.get(i).getString(“utf-8”));
}
} else {
// 输出上传的路径
System.out.println(“upload的路径:”
+ getServletContext().getRealPath(“upload”));
// 获取到上传的文件的名字
File file = new File(getServletContext().getRealPath(
“upload”),
list.get(i)
.getName()
.substring(
list.get(i).getName()
.lastIndexOf(“\\”) + 1));
list.get(i).write(file);
}
}
用Java Web的jsp制作图片上传和显示如何实现
用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:
PrintWriter out = response.getWriter();
int count = 0;
// 实例化上传控件对象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 设置上传文件最大字节数
su.setTotalMaxFileSize(100000);
//
try {
//禁止上传指定扩展名的文件
su.setDeniedFilesList(“ext,bat,jsp”);
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
// 上传文件到服务器
su.upload();
File fileup = new File(request.getRealPath(“upload”));
if(!fileup.exists()){
// 创建目录
fileup.mkdir();
}
// 处理多个文件的上传
for(int i = 0;i su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上传目录
file.saveAs(“/upload/new.”+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save(“/upload”);
}
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
out.println(count +”file(s) uploaded”);
如果你对这个上传组件不了解,最好是先去查查用法。。。
jsp注册时头像上传
使用文件流上传JPG头像, 路径设置存入\uploads\+文件名字.jpg
同时,将 字符串“\uploads\+文件名字.jpg” 存入数据库。 使用的时候 直接img src = “从数据库中查出该图片的对应路径” 就差不多了。 百度一下上传的方法,接着按照这个思路就差不多啦。
JSP页面上传文件的问题
给你一段完整代码
这个是处理的页面…….//uploadphoto.jsp
%@ page language=”java”%
%@ page contentType=”text/html; charset=gb2312″%
%@ page import=”java.sql.*” %
%@ page import=”com.jspsmart.upload.*” %
jsp:useBean id=”person” scope=”session” class=”DataClass.PeopleData”/
html
head
meta http-equiv=”refresh” content=”4;URL=main.jsp”
title上传头像/title
/head
body bgcolor=black text=”#00FFFF”
center
%!
SmartUpload su;//上传头像用到的类
String filepath;//存放用户选择的文件的目录
File file ;//获得上传的文件,然后重新存储
Connection con ;//////数据库接口
Statement sta ;///对数据库操作的类
ResultSet res ;/////接收数据的包
String str ;//// 连接数据库用到的字符串
%
%
try{
su=new SmartUpload() ;
su.initialize(pageContext); //初始化
su.setMaxFileSize(102400);//设置最大不能超过100000 表示100000个字节
su.setAllowedFilesList(“JPG,jpg”) ;//设置文件类型
su.upload() ;//上传
file=su.getFiles().getFile(0);//获得上传的文件
if(file.getSize()!=0)
{
file.saveAs(“webapps/ROOT/photos/”+person.getSchoolNumber()+”.jpg”) ;//以注册的学号命名
str=”jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=webapps/ROOT/database/database.mdb” ;//因为主目录是tomcat 6.0/
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
con=DriverManager.getConnection(str);
sta=con.createStatement() ;
String sql=”update studentdata set 个人照片=”+”‘”+person.getSchoolNumber()+”‘ “+”where 学号='”+person.getSchoolNumber()+”‘” ;
sta.executeUpdate(sql) ;//将个人照片中的值改成学号,这样才不会出现重复
person.setPictureName(person.getSchoolNumber()) ;//同时将本此访问的个人信息更新
out.print(“brbrbrbrbrbrbr头像上传成功!”) ;
%
下面这个是上传的页面….就是你放input type=file 的页面
里头的表单项…..
form method=”post” enctype=”multipart/form-data” action=”uploadphoto.jsp”
选择个人头像(jpg):
input name=”file” type=”file” size=”15″
input type=”submit” name=”sb” value=”上传头像”
/form
需要说明jspsmartupload这个组件是一个java程序的jar包.
基本java类库里头没有 要单独下载
在网上有下载..如果你找不到 给我发消息我发给你
JSP上传图片做头像报错 系统找不到指定文件
肯定找不到啊,你运行的时候获取的是tomcat容器的目录啊,但是你的文件却在其他的盘或文件下,肯定不对的,要将文件复制到tomcat容器里面去!!
jsp上传文件的问题
用JSP实现文件上传功能,参考如下:
UploadExample.jsp
%@ page contentType=”text/html;charset=gb2312″%
html
title%= application.getServerInfo() %/title
body
上传文件程序应用示例
form action=”doUpload.jsp” method=”post” enctype=”multipart/form-data”
%– 类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什么文件类型,均可上传。–%
请选择要上传的文件input type=”file” name=”upfile” size=”50″
input type=”submit” value=”提交”
/form
/body
/html
doUpload.jsp
%@ page contentType=”text/html; charset=GBK” %
%@ page import=”java.io.*”%
%@ page import=”java.util.*”%
%@ page import=”javax.servlet.*”%
%@ page import=”javax.servlet.http.*”%
htmlheadtitleupFile/title/head
body bgcolor=”#ffffff”
%
//定义上载文件的最大字节
int MAX_SIZE = 102400 * 102400;
// 创建根路径的保存变量
String rootPath;
//声明文件读入类
DataInputStream in = null;
FileOutputStream fileOut = null;
//取得客户端的网络地址
String remoteAddr = request.getRemoteAddr();
//获得服务器的名字
String serverName = request.getServerName();
//取得互联网程序的绝对地址
String realPath = request.getRealPath(serverName);
realPath = realPath.substring(0,realPath.lastIndexOf(“\\”));
//创建文件的保存目录
rootPath = realPath + “\\upload\\”;
//取得客户端上传的数据类型
String contentType = request.getContentType();
try{
if(contentType.indexOf(“multipart/form-data”) = 0){
//读入上传的数据
in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
if(formDataLength MAX_SIZE){
out.println(“P上传的文件字节数不可以超过” + MAX_SIZE + “/p”);
return;
}
//保存上传文件的数据
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
//上传的数据保存在byte数组
while(totalBytesRead formDataLength){
byteRead = in.read(dataBytes,totalBytesRead,formDataLength);
totalBytesRead += byteRead;
}
//根据byte数组创建字符串
String file = new String(dataBytes);
//out.println(file);
//取得上传的数据的文件名
String saveFile = file.substring(file.indexOf(“filename=\””) + 10);
saveFile = saveFile.substring(0,saveFile.indexOf(“\n”));
saveFile = saveFile.substring(saveFile.lastIndexOf(“\\”) + 1,saveFile.indexOf(“\””));
int lastIndex = contentType.lastIndexOf(“=”);
//取得数据的分隔字符串
String boundary = contentType.substring(lastIndex + 1,contentType.length());
//创建保存路径的文件名
String fileName = rootPath + saveFile;
//out.print(fileName);
int pos;
pos = file.indexOf(“filename=\””);
pos = file.indexOf(“\n”,pos) + 1;
pos = file.indexOf(“\n”,pos) + 1;
pos = file.indexOf(“\n”,pos) + 1;
int boundaryLocation = file.indexOf(boundary,pos) – 4;
//out.println(boundaryLocation);
//取得文件数据的开始的位置
int startPos = ((file.substring(0,pos)).getBytes()).length;
//out.println(startPos);
//取得文件数据的结束的位置
int endPos = ((file.substring(0,boundaryLocation)).getBytes()).length;
//out.println(endPos);
//检查上载文件是否存在
File checkFile = new File(fileName);
if(checkFile.exists()){
out.println(“p” + saveFile + “文件已经存在./p”);
}
//检查上载文件的目录是否存在
File fileDir = new File(rootPath);
if(!fileDir.exists()){
fileDir.mkdirs();
}
//创建文件的写出类
fileOut = new FileOutputStream(fileName);
//保存文件的数据
fileOut.write(dataBytes,startPos,(endPos – startPos));
fileOut.close();
out.println(saveFile + “文件成功上载./p”);
}else{
String content = request.getContentType();
out.println(“p上传的数据类型不是multipart/form-data/p”);
}
}catch(Exception ex){
throw new ServletException(ex.getMessage());
}
%
/body
/html
运行方法,将这两个JSP文件放在同一路径下,运行UploadExample.jsp即可。
jspjava上传头像的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js上传头像功能、jspjava上传头像的信息别忘了在本站进行查找喔。