㈠ java用前端控件实现用户头像上传,上传成功的同时用户昵称变为了图片的名称,重新登录昵称是不会变的。。
你自己程序的bug,请检查,看看上传完成的回调函数是不是你错误的调用了啥。
ps:是个没女朋友的宅男吧,图片这么日韩风。。。
㈡ java问题: 当上传头像时,如何去掉背景颜色,只要头而已,这应该怎么弄,用到什么技术,求问
尝试用html5或者js来处理图片这样压力会在客户端,java服务器端处理的话 比较麻烦还得存储或者通过流传递。 具体技术方面要看下js和html5的一些功能,不过肯定不可能人工不参与直接处理,需要认为去选择区域然后填充颜色的,类似我们用ps 处理图片的。
㈢ java版本的flash头像上传功能的实现,希望提供简单易懂的思路,。或则有可以运行的例子和源码那就感激不尽
flash头像?是个flash?
不过不管什么样的,原理是不变的:
上传文件(上传flash头像到服务器)
展示文件(显示上传的flash头像)
㈣ 如何java中实现上传头像功能
其实就是上传文件,方便点的下载个fileupload 插件,将文件转换成流,然后再写出到指定的路径,将存储路径存储在数据库中。再好点的,可以将这个头像文件做一次压缩处理,原图一个路径,压缩图一个路径。压缩图路径展示小图,原图路径展示原图。一般这个路径都是基于工程的相对路径。
㈤ 怎样才能上传头像
用什么代码写?
JSP的<%@ page autoFlush="false" contentType="text/html;charset=utf-8" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*,java.io.FileInputStream,java.io.FileOutputStream,java.awt.*"%>
<%@ page import="com.blog.vo.*" %>
<%
SmartUpload mySmartUpload =new SmartUpload();
long file_size_max=4000000;
String fileName2="",ext="",testvar="";
String url="uploadfile/images/"; //应保证在根目录中有此目录的存在
//初始化
mySmartUpload.initialize(pageContext);
//只允许上载此类文件
try {
mySmartUpload.setAllowedFilesList("jpg,gif,JPG,GIF");
//上载文件
mySmartUpload.upload();
} catch (Exception e){
%>
<SCRIPT language=javascript>
alert("只允许上传.jpg和.gif类型图片文件");
window.location='face.jsp';
</script>
<%
}
try{
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
if (myFile.isMissing()){%>
<SCRIPT language=javascript>
alert("请先选择要上传的文件");
window.location='face.jsp';
</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=request.getRealPath("/")+url;
saveurl+=filename+"."+ext; //保存路径
myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
//-----------------------上传完成,开始生成缩略图-------------------------
java.io.File file = new java.io.File(saveurl); //读入刚才上传的文件
String newurl=request.getRealPath("/")+url+filename+"_min."+ext; //新的缩略图保存地址
Image src = javax.imageio.ImageIO.read(file); //构造Image对象
float tagsize=110;
int old_w=src.getWidth(null); //得到源图宽
int old_h=src.getHeight(null);
int new_w=0;
int new_h=0; //得到源图长
int tempsize;
float tempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
new_w=Math.round(old_w/tempdouble);
new_h=Math.round(old_h/tempdouble);//计算新图长宽
BufferedImage image = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);//创建一个BufferedImage来作为图像*作容器
Graphics g = image.getGraphics(); //创建一个绘图环境来进行绘制图象
g.drawImage(src,0,0,new_w,new_h,null); //将原图像数据流载入这个BufferedImage
g.setFont(new Font("Times New Roman",Font.PLAIN,24)); //设定文本字体
String rand = "";
g.setColor(Color.red); //设定文本颜色
g.drawString(rand,new_w-200,new_h-10); //向BufferedImage写入文本字符
g.dispose(); //使更改生效FileOutputStream newimage=new FileOutputStream(newurl); //输出到文件流
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(image); //近JPEG编码
newimage.close();
UserInfo ui = (UserInfo)request.getSession().getAttribute("userinfo");
ui.setFace(url+filename+"_min."+ext);
session.setAttribute("userinfo",ui);
String turl="face.jsp?src="+url+filename+"_min."+ext;
out.print("<SCRIPT language='javascript'>");
out.print("window.location='"+turl+"'");
out.print("</SCRIPT>");
}
else{
out.print("<SCRIPT language='javascript'>");
out.print("alert('上传文件大小不能超过"+(file_size_max/1000)+"K');");
out.print("window.location='face.jsp;'");
out.print("</SCRIPT>");
}
}
}catch (Exception e){e.toString();}%>
㈥ java头像上传求代码
你看看这个,使我们项目用到的
/**
* 上传图片
*/
@RequestMapping(value="/reviseTuPian",method=RequestMethod.POST)
@ExceptionHandler(Exception.class)
public String reviseTuPian(Model model,HttpServletResponse response,HttpServletRequest request,Exception ex){
//获取session
UserInfos info = (UserInfos) request.getSession().getAttribute("user");
//保存对象值
Map<String, String> parameterMap = new HashMap<String, String>();
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload fileUpload = new ServletFileUpload(factory);
fileUpload.setFileSizeMax(1024 * 200);
String filename=null;
try {
List<FileItem> fileItems = fileUpload.parseRequest(request);
for (FileItem fileItem : fileItems) {
if (fileItem.isFormField()){
//不是上传文件
String description = fileItem.getFieldName();
String value = fileItem.getString("utf-8");//处理乱码
parameterMap.put(description, value);
}else {
filename = fileItem.getName();
if (filename == null || filename.trim().length() == 0) {
parameterMap.put("imgurl", null);
}else{
filename = UploadUtils.subFileName(filename);
String uuidname = UploadUtils.generateRandonFileName(filename);
String dir = UploadUtils.generateRandomDir(uuidname);
File dirFile = new File(request.getSession().getServletContext().getRealPath(
"/touxiang" + dir));
dirFile.mkdirs();//创建目录
InputStream in = new BufferedInputStream(fileItem.getInputStream());
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(dirFile,uuidname)));
int b;
while((b = in.read())!=-1){
out.write(b);
}
in.close();
out.close();
//删除文件
fileItem.delete();
// 生成小图
PicUtils picUtils = new PicUtils(dirFile.getCanonicalPath()
+ "/" + uuidname);
picUtils.resize(150, 150);
//获取小图路径
String img_s = UploadUtils.getImg_s(uuidname);
//System.out.println("qfeer图片名称qwfwdfq"+img_s);
parameterMap.put("imgurl", "/touxiang"+dir+"/"+img_s);
}
}
}
} catch ( e) {
model.addAttribute("asg", "文件大小不得超过100k");
e.printStackTrace();
//request.setAttribute("asg", "文件大小不得超过100k");
return "redirect:/reviseUser.do";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(filename!=""){ //上传图片是否为空
String[] m=filename.split("\\.");
String[] n={"BMP","JPG","JPEG","PNG","GIF"};
for (int i = 0; i < n.length; i++) {
if(m[1].equalsIgnoreCase(n[i])){
//添加数据
info.setHeadImageUrl(parameterMap.get("imgurl"));
//调用业务层
ufil.updateNiChengUser(info);
model.addAttribute("asg", "头像更新成功");
System.out.println("*************上传保存路径*****************"+request.getSession().getServletContext().getRealPath("/"));
break;
}else{
System.out.println("头像更新失败");
model.addAttribute("asg", "图片格式不正确,请重新选择");
}
} //循环结束
}else{ //判断结束图片为空时候
//添加数据
info.setHeadImageUrl(parameterMap.get("imgurl"));
//调用业务层
ufil.updateNiChengUser(info);
System.out.println("*************上传保存路径*****************"+request.getSession().getServletContext().getRealPath("/"));
model.addAttribute("asg", "图片更新成功");
}
return "redirect:/reviseUser.do";
}
㈦ javaweb 上传头像
前台:<form method="post" id="form_photo"enctype="multipart/form-data"action="xxxx.do">
<input type="file"name="upload-file">
<input type="submit"value="上传">
</form>
后台:
public String uploadImgs(MultipartFile multFile, HttpServletRequest request, HttpServletResponse response,int id) throws Exception{
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
MultipartFile multFile = multiRequest.getFile("upload_file");
ImageInputStream iis = null;
// 扩展名格式:
String extName = "";
String newName = "";
boolean flag = true;
//取得上传的文件名
String fileName = multFile.getOriginalFilename();
if(!fileName.isEmpty() && !"".equals(fileName.trim())){
//上传文件的大小
long size = multFile.getSize();
if(size > (1024*1024)){
flag = false;
}
if (fileName.lastIndexOf(".") >= 0) {
extName = fileName.substring(fileName.lastIndexOf("."));
}
//定义允许上传的文件类型
List<String> fileTypes = new ArrayList<String>();
fileTypes.add(".jpg");
fileTypes.add(".jpeg");
fileTypes.add(".gif");
fileTypes.add(".png");
if(!fileTypes.contains(extName.toLowerCase())){
flag = false;
} //这是存储的路径,直接在你的项目下加个目录
String savePath =request.getSession().getServletContext().getRealPath("/images/")+"/";
File f1 = new File(savePath);
if (!f1.exists()) {
f1.mkdirs();
}
if(flag){
//以ID为名
newName =id+"";
Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName(new String(extName.substring(1).getBytes(),"utf-8"));
ImageReader reader = it.next();
iis = ImageIO.createImageInputStream(multFile.getInputStream());
reader.setInput(iis,true) ;
ImageReadParam param = reader.getDefaultReadParam();
BufferedImage bi = reader.read(0,param);
ImageIO.write(bi, extName.substring(1), new File(savePath + newName + ".jpg"));
}
}
}
//显示头像直接用路径取/images/id.jpg
㈧ java web实现上传头像功能,
你最好是固定一台为文件服务器,用来上传图片,或者上传时把上传到哪台服务器记录到数据库里面去做个标记,查询时候判断一下
㈨ java web开发中 用户上传头像如何实现,尽量详细些。。。。谢谢各位大侠!
1、准确的说,应该是文件上传如何实现。
2、文件上传,一般都是能过组件来实现,
自己来写上传的话,不太方便,也没必要,别人都做的太多了。
3、smartupload或是common-fileupload都是经常用的组件,具体用法,直接搜“smartupload
上传案例"或是”common-fileupload
使用案例“就可以了。
㈩ 用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 {
List<FileItem> 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);
}
}