當前位置:首頁 » 文件管理 » java上傳頭像代碼

java上傳頭像代碼

發布時間: 2022-10-31 14:08:52

1. 求struts圖片上傳和顯示

一般是這樣的,上傳的圖片不直接放在資料庫中,在資料庫中只存放圖片的相對路徑,然後在頁面的<img>元素中的src中引用這個地址就可以了。
需要上傳圖片的from表單必須要加上enctype="multipart/form-data"屬性。
struts的文件上傳bean的配置文件如下:
<form-bean name="adUpload" type="org.apache.struts.action.DynaActionForm">
<form-property name="adBewrite" type="java.lang.String"></form-property>
<form-property name="adLinkUrl" type="java.lang.String"></form-property>
<form-property name="adPosition" type="java.lang.String"></form-property>
<form-property name="adPrice" type="java.lang.String"></form-property>
<form-property name="adTimeFrom" type="java.lang.String"></form-property>
<form-property name="adTimeTo" type="java.lang.String"></form-property>
<form-property name="adPicUrl" type="org.apache.struts.upload.FormFile"></form-property>
</form-bean>
其中from-bean的type必須是org.apache.struts.action.DynaActionForm,網頁中的<file>元素對應的form-bean的配置必須是:<form-property name="adPicUrl" type="org.apache.struts.upload.FormFile"></form-property>。
文件上傳的java參考程序如下:
InputStream fileInput = formFile.getInputStream();
if(fileInput != null){
String path = this.getServlet().getServletContext().getRealPath("/friendFile/"+formFile.getFileName());
String path1 = "friendFile\\"+formFile.getFileName();
OutputStream outputStream = new FileOutputStream(path);
byte[] tmp = new byte[1024];
int m = 0;
while( (m = fileInput.read(tmp))!= -1) {
outputStream.write(tmp);
}
outputStream.close();
fileInput.close();

FriendLinkInfo friend = new FriendLinkInfo();
friend.setFriendName(friendName);
friend.setFriendLinkUrl(friendLink);
friend.setFriendType(friendType);
friend.setFriendImageUrl(path1);
friendDAO.addFriend(friend);
forward = mapping.findForward("flushFriend");
path用於讀取文件流,path1用於表示圖片在伺服器上的相對路徑
大致就是這樣了。

2. java web實現上傳頭像功能,

多伺服器上,存放圖片的路徑,是不是有區別

3. 如何在spring mvc中上傳圖片並顯示出來

(1)在spring mvc的配置文件中配置:

<beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<propertyname="uploadTempDir"value="/tmp"/><!--臨時目錄-->
<propertyname="maxUploadSize"value="10485760"/><!--10M-->
</bean>

(2)文件上傳表單和結果展示頁fileupload.jsp:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglibprefix="mvc"uri="http://www.springframework.org/tags/form"%>
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>SpringMVC文件上傳</title>
</head>
<body>
<h2>圖片文件上傳</h2>
<mvc:formmodelAttribute="user"action="upload.html"
enctype="multipart/form-data">
<table>
<tr>
<td>用戶名:</td>
<td><mvc:inputpath="userName"/></td>
</tr>
<tr>
<td>選擇頭像:</td>
<td><inputtype="file"name="file"/></td>
</tr>
<tr>
<tdcolspan="2"><inputtype="submit"value="Submit"/></td>
</tr>
</table>
</mvc:form>
<br><br>
<c:iftest="${u!=null}">
<h2>上傳結果</h2>
<table>
<c:iftest="${u.userName!=null}">
<tr>
<td>用戶名:</td>
<td>${u.userName}</td>
</tr>
</c:if>
<c:iftest="${u.logoSrc!=null}">
<tr>
<td>頭像:</td>
<td><imgsrc="${u.logoSrc}"width="100px"height="100px"></td>
</tr>
</c:if>

</table>

</c:if>

</body>
</html>

(3)後台處理UploadController.java:

packagecn.zifangsky.controller;

importjava.io.File;
importjava.io.IOException;

importjavax.servlet.http.HttpServletRequest;

importorg.apache.commons.io.FileUtils;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.RequestParam;
importorg.springframework.web.multipart.MultipartFile;
importorg.springframework.web.servlet.ModelAndView;

importcn.zifangsky.model.User;
importcn.zifangsky.utils.StringUtile;

@Controller
publicclassUploadController{

@RequestMapping(value="/form")
publicModelAndViewform(){
ModelAndViewmodelAndView=newModelAndView("fileupload","user",newUser());

returnmodelAndView;
}

@RequestMapping(value="/upload",method=RequestMethod.POST)
publicModelAndViewupload(Useruser,@RequestParam("file")MultipartFiletmpFile,HttpServletRequestrequest){
ModelAndViewmodelAndView=newModelAndView("fileupload");

if(tmpFile!=null){
//獲取物理路徑
StringtargetDirectory=request.getSession().getServletContext().getRealPath("/uploads");
StringtmpFileName=tmpFile.getOriginalFilename();//上傳的文件名
intdot=tmpFileName.lastIndexOf('.');
Stringext="";//文件後綴名
if((dot>-1)&&(dot<(tmpFileName.length()-1))){
ext=tmpFileName.substring(dot+1);
}
//其他文件格式不處理
if("png".equalsIgnoreCase(ext)||"jpg".equalsIgnoreCase(ext)||"gif".equalsIgnoreCase(ext)){
//重命名上傳的文件名
StringtargetFileName=StringUtile.renameFileName(tmpFileName);
//保存的新文件
Filetarget=newFile(targetDirectory,targetFileName);

try{
//保存文件
FileUtils.InputStreamToFile(tmpFile.getInputStream(),target);
}catch(IOExceptione){
e.printStackTrace();
}

Useru=newUser();
u.setUserName(user.getUserName());
u.setLogoSrc(request.getContextPath()+"/uploads/"+targetFileName);

modelAndView.addObject("u",u);
}

returnmodelAndView;
}

returnmodelAndView;
}

}

在上面的upload方法中,為了接收上傳的文件,因此使用了一個MultipartFile類型的變數來接收上傳的臨時文件,同時為了給文件進行重命名,我調用了一個renameFileName方法,這個方法的具體內容如下:

/**
*文件重命名
*/
(StringfileName){
StringformatDate=newSimpleDateFormat("yyMMddHHmmss").format(newDate());//當前時間字元串
intrandom=newRandom().nextInt(10000);
Stringextension=fileName.substring(fileName.lastIndexOf("."));//文件後綴

returnformatDate+random+extension;
}

註:上面用到的model——User.java:

packagecn.zifangsky.model;

publicclassUser{
privateStringuserName;//用戶名
privateStringlogoSrc;//頭像地址

publicStringgetUserName(){
returnuserName;
}

publicvoidsetUserName(StringuserName){
this.userName=userName;
}

publicStringgetLogoSrc(){
returnlogoSrc;
}

publicvoidsetLogoSrc(StringlogoSrc){
this.logoSrc=logoSrc;
}

}

至此全部結束

效果如下:

(PS:純手打,望採納)

4. 在Java web網站中用戶注冊信息時希望用戶可以選擇自己的頭像,然後將照片存到sql server資料庫中,怎麼辦

用戶信息表增加頭像地址 欄位
用文件上傳的控制項,文件上傳到伺服器指定文件夾,獲取該路徑,將該路徑保存到資料庫
登錄的時候再取出來跟其他用戶屬性一樣,顯示的地方拼接到img標簽里

5. java怎麼生成帶用戶微信頭像的圖片,並把這張圖片發送給用戶。

1、下載生成二維碼所需要的jar包qrcode.jar;2、直接上生成二維碼的java代碼 //需要導入的包import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import javax.imageio.ImageIO;import com.swetake.util.Qrcode; /** * 生成二維碼(QRCode)圖片 * @param content 二維碼圖片的內容 * @param imgPath 生成二維碼圖片完整的路徑 * @param ccbpath 二維碼圖片中間的logo路徑 */ public static int createQRCode(String content, String imgPath,String ccbPath) { try { Qrcode qrcodeHandler = new Qrcode(); qrcodeHandler.setQrcodeErrorCorrect('M'); qrcodeHandler.setQrcodeEncodeMode('B'); qrcodeHandler.setQrcodeVersion(7); // System.out.println(content); byte[] contentBytes = content.getBytes("gb2312"); //構造一個BufferedImage對象 設置寬、高 BufferedImage bufImg = new BufferedImage(140, 140, BufferedImage.TYPE_INT_RGB); Graphics2D gs = bufImg.createGraphics(); gs.setBackground(Color.WHITE); gs.clearRect(0, 0, 140, 140); // 設定圖像顏色 > BLACK gs.setColor(Color.BLACK); // 設置偏移量 不設置可能導致解析出錯 int pixoff = 2; // 輸出內容 > 二維碼 if (contentBytes.length > 0 && contentBytes.length < 120) { boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes); for (int i = 0; i < codeOut.length; i++) { for (int j = 0; j < codeOut.length; j++) { if (codeOut[j][i]) { gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3); } } } } else { System.err.println("QRCode content bytes length = " + contentBytes.length + " not in [ 0,120 ]. "); return -1; } Image img = ImageIO.read(new File(ccbPath));//實例化一個Image對象。 gs.drawImage(img, 55, 55, 30, 30, null); gs.dispose(); bufImg.flush(); // 生成二維碼QRCode圖片 File imgFile = new File(imgPath); ImageIO.write(bufImg, "png", imgFile); }catch (Exception e){ e.printStackTrace(); return -100; } return 0; }

來自網友 孤獨青鳥的博客

6. 如何java中實現上傳頭像功能

就當文件上傳啊!然後將文件存放好,將路徑放入資料庫!顯示不就是Image 標簽嗎???難倒你說的是swing ??

7. 上傳頭像的時候報錯了 java.lang.IllegalArgumentException:

這個異常的解釋是"方法的參數錯誤",很多j2me的類庫中的方法在一些情況下都會引發這樣的錯誤,比如音量調節方法中的音量參數如果寫成負數就會出現這個異常,再比如g.setcolor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法調用中的參數傳遞是不是出現了錯誤。

8. java問題: 當上傳頭像時,如何去掉背景顏色,只要頭而已,這應該怎麼弄,用到什麼技術,求問

那你要在上傳的時候先用PS處理一下這個照片的背景色.....程序好像不具備這能力..

9. JSP上傳圖片做頭像報錯 系統找不到指定文件

肯定找不到啊,你運行的時候獲取的是tomcat容器的目錄啊,但是你的文件卻在其他的盤或文件下,肯定不對的,要將文件復制到tomcat容器裡面去!!

10. java選擇頭像的代碼

<select name="tupian">
<option value="頭像1.jpg">頭像1</option>
<option value="頭像2.jpg">頭像2</option>
</select>

熱點內容
如何刪除手機中的游戲緩存 發布:2024-10-07 02:11:28 瀏覽:873
解鎖資料庫用戶 發布:2024-10-07 01:55:54 瀏覽:826
關系資料庫的關鍵字是指 發布:2024-10-07 01:55:54 瀏覽:517
java資料庫date 發布:2024-10-07 01:55:21 瀏覽:458
安卓12如何開通運用許可權 發布:2024-10-07 01:29:54 瀏覽:134
電腦顯示已連接圖形伺服器 發布:2024-10-07 01:24:38 瀏覽:797
如何恢復手機伺服器的時速 發布:2024-10-07 01:22:30 瀏覽:749
c語言六套 發布:2024-10-07 01:22:26 瀏覽:383
安卓手機系統文件存在哪裡 發布:2024-10-07 01:21:30 瀏覽:898
編譯原理文字題 發布:2024-10-07 00:53:58 瀏覽:332