㈠ 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);
				}
			}
