常用上傳元件提交引數的問題

2021-04-26 10:26:24 字數 1900 閱讀 3008

今天新增了個功能,就是在註冊頁面增加乙個上傳使用者頭像的功能,看似很簡單,隨便用乙個常用元件就能搞定,可實際情況超出想象。開始用的是commoms-fileupload結合commons-io元件,用servlet來實現,部分**如下:

//提交其他文字域的值

string username = request.getparameter("username");

string password = request.getparameter("password");

string email = request.getparameter("email");

user user = new user();

user.setusername(username);

user.setpassword(password);

user.setemail(email);

// system.out.println("test the username : "+username);

// 判斷使用者名稱是否已經存在

if (username != null && !username.equals("") && crud.i***ist(username)) else else

}rd.forward(request, response);

執行完這頁**後,檔案能上傳到本地伺服器指定的資料夾,但插入資料庫的那條記錄所有字段莫名其妙的顯示為null,簡單的測試了下,發覺所有獲取的其他文字域的值為null,即沒有獲取到值,原來是因為提交過來的表單的屬性設為了enctype="multipart/form-data",但如果把該屬性去掉又不能獲得上傳上類的檔案,怎麼辦?既要獲取上傳檔案又要獲取其他文字引數值,用commons-fileupload結合commons-io貌似很難辦到,所以捨棄了這個元件,改用jspsmartupload上傳元件,很快既獲得了上傳檔案,又獲取了其他引數值,不過獲取引數值時要稍微有所變化。部分**如下:

//用jspsmartupload元件的方法取得文字域的值

string username = su.getrequest().getparameter("username");    

string password = su.getrequest().getparameter("password");

string email = su.getrequest().getparameter("email");

user user = new user();

user.setusername(username);

user.setpassword(password);

user.setemail(email);

// 判斷使用者名稱是否已經存在

if (username != null && !username.equals("") && crud.i***ist(username)) else else

}rd.forward(request, response);

注意獲取引數值時是su.getrequest().getparameter("username") ,不是request.getparameter("username");

5款常用上傳控制項解析

這段時間在做乙個專案的時候,其中的upload article功能需要用到上傳的功能,並且根據客戶要求,需要儲存在s3伺服器上,並且可上傳large file,中間試用了5種控制項,繞了好大的圈子,最終敲定方案使用com.flajaxian 配合 affirma.threesharp,為什麼要這樣選...

360應用上傳所需的準備

本文主要介紹發布應用到360手機助手前所需要做的準備工作。如果你是第一次註冊,那麼需要 手持身份證 jpg png gif格式的 不超過1m 郵箱 手機號。為了防止應用被二次打包 惡意篡改 記憶體擷取。可以使用360的加固寶對應用進行加固。加固流程如下 應用截圖 4 5張截圖 尺寸保持一致 支援jp...

IOS應用上傳需要做的工作

證書建立流程 certificates 證書 是電腦能夠加入開發者計畫的憑證 證書分為 開發證書和發布 產品 證書,開發證書只能做真機測試,發布證書只能做產品發布 identifiers 識別符號 devices裝置 裝置的唯一識別符號 uuid 做真機測試是需要新增對應的裝置識別符號 uuid u...