當前位置:首頁 » 文件傳輸 » 帶頭像上傳的表單布局
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

帶頭像上傳的表單布局

發布時間: 2023-07-09 21:54:28

① php上傳文件如何實現上傳頭像的時候可以顯示出頭像

兩種方案:

  1. 前端直接使用 FileReader可以直接讀取圖片在前端顯示,可以在用戶點擊確定後再通過 ajax上傳到後端(當然,你也可以直接通過 form表單 submit提交)

  2. 用戶點擊上傳文件的時候,直接用 ajax把圖片是傳到後端,後端回傳圖片在伺服器中的地址,前端把這個圖片顯示出來。

② python上傳圖片頭像。一個post 提交不知道怎麼寫這樣的

首先你需要在你的表單上添加enctype="multipart/form-data"。

<formaction="/message/"enctype="multipart/form-data"method="post">
<inputtype="file"name="picfile">
<buttonvalue="提交"type="submit">提交</button>
</form>


其次看你後端的web框架,如果是django,你可以參考。

fromPILimportImage
try:
reqfile=
request.FILES['picfile']#picfile要和html裡面一致
img=Image.open(reqfile)
img.thumbnail((500,500),Image.ANTIALIAS)#對圖片進行等比縮放
img.save("/Users/bcc/Desktop/python/bbs/Image/a.png","png")#保存圖片
exceptException,e:
returnHttpResponse("Error%s"%e)#異常,查看報錯信息

如果解決了您的問題請採納!
如果未解決請繼續追問

③ 用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);
}
}