Spring3.0.5 MVC+ajaxfileupload更新ファイルなしアップロード
4257 ワード
システムバージョン:spring 3.0.5MVC+Hibernate3.
Springmvcフレームワークは、肖はもちろん現在最も流行しているjava web開発フレームワークです.ページを更新せずにファイルをアップロードする必要があることをネット上で多く見て、用事のない態度で、わざわざこのような需要を実現しました.
本キックアスは再び声明した:本テストは実行可能で、百試百爽、童兄嫁はいじめていない.テストの過程で間違いを犯した場合は、ひざまずいてよく考えなければなりません.あなたは何か罪を犯したことがあります.
よし、くだらないことは多く言わないで、プログラム猿は実事にこだわるやつで、実際にやって、巧みにやって、それに怠け者を加えます.
では、まずフロントエンドのページから言えば、お客様の最初の目はあなたのフロントエンドのページを見ることです.フロントエンドページコードは次のとおりです.
そして私がここにアップロードして利用しているのはajaxfileuploadです.jsアップロードは、ajaxfileuploadをページに導入する必要があります.jsとjQuery.jsは、次のようになります.
JSコードは以下の通りです.
フロントエンドページとJSの話が終わると、バックグラウンド処理についてお話しします.
Springmvcでは、ファイルをサポートするためにspringプロファイルに次の構成を追加する必要があります.
次は肝心なところに着いて、controllerで処理します.
以下にコントロールコードブロックを示します.
以下はinputstreamtofileメソッドコードブロックです.
さあ、これでSpringMVC+ajaxfileuploadの更新ファイルのアップロードがなくなりましたが、簡単ではないでしょうか.
この文書があなたの役に立つことを願っています.
Springmvcフレームワークは、肖はもちろん現在最も流行しているjava web開発フレームワークです.ページを更新せずにファイルをアップロードする必要があることをネット上で多く見て、用事のない態度で、わざわざこのような需要を実現しました.
本キックアスは再び声明した:本テストは実行可能で、百試百爽、童兄嫁はいじめていない.テストの過程で間違いを犯した場合は、ひざまずいてよく考えなければなりません.あなたは何か罪を犯したことがあります.
よし、くだらないことは多く言わないで、プログラム猿は実事にこだわるやつで、実際にやって、巧みにやって、それに怠け者を加えます.
では、まずフロントエンドのページから言えば、お客様の最初の目はあなたのフロントエンドのページを見ることです.フロントエンドページコードは次のとおりです.
<input type="file" name="file" id="busiAttachment" style="BORDER: #91c0e3 1px solid; width:77%;HEIGHT: auto; BACKGROUND-COLOR: #FFFFFF;color: #004779;"/>
<input type="button" value=" " onclick="upload()"/>
ここで注意して、type、nameのこの2つの属性は変更することができなくて、idについては勝手に変更することができて、しかし下のJSコードと対応したいです.そして私がここにアップロードして利用しているのはajaxfileuploadです.jsアップロードは、ajaxfileuploadをページに導入する必要があります.jsとjQuery.jsは、次のようになります.
<script language="javascript" src="${pageContext.request.contextPath }/resource/js/jquery.min.js"></script>
<script language="javascript" src="${pageContext.request.contextPath }/resource/js/ajaxfileupload.js"></script>
JSコードは以下の通りです.
//ajaxFileupload
function upload(){
var fileName = $(this).val();
$.ajaxFileUpload({
url:'upload.bia',
secureuri:false,
fileElementId:'busiAttachment',
success:function(data){
}
});
}
file ElementIdの値の問題:これは上のidに対応しています.ここで注意してください.フロントエンドページとJSの話が終わると、バックグラウンド処理についてお話しします.
Springmvcでは、ファイルをサポートするためにspringプロファイルに次の構成を追加する必要があります.
<!-- SpringMVC , MultipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="UTF-8"/>
私はここでファイルアップロードのサポートを構成しています.その中のいくつかのファイルサイズなどのパラメータについては、クエリーして構成することができます.次は肝心なところに着いて、controllerで処理します.
以下にコントロールコードブロックを示します.
//
@RequestMapping(value="project/upload")
@ResponseBody
public String upload(MultipartHttpServletRequest multipartRequest,HttpServletResponse response) throws FileUploadException, IOException{
DefaultMultipartHttpServletRequest defaultRequest = (DefaultMultipartHttpServletRequest)multipartRequest;
MultiValueMap<String, MultipartFile> fileMap = defaultRequest.getMultiFileMap();
//
List<MultipartFile> fileList = fileMap.get("file");
MultipartFile file = fileList.get(0);
//
String dirPath = multipartRequest.getSession().getServletContext().getRealPath("/doc");
File dir = new File(dirPath);
// ,
if(!dir.exists()){
dir.mkdir();
}
String filePath = dirPath+"/"+(new Date().getTime())+file.getOriginalFilename();
File resultFile = inputstreamtofile(file.getInputStream(),filePath);
System.out.println(resultFile.getPath());
// Customer customer=new Customer();
// customer.setCustomer_descr("THE WALKING DEAD");
// List<Customer> customerList = null;
// customerList.add(customer);
return "";
}
以下はinputstreamtofileメソッドコードブロックです.
public File inputstreamtofile(InputStream ins,String fileName) {
File file = new File(fileName);
try {
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
} catch (Exception e) {
e.printStackTrace();
}
return file;
}
さあ、これでSpringMVC+ajaxfileuploadの更新ファイルのアップロードがなくなりましたが、簡単ではないでしょうか.
この文書があなたの役に立つことを願っています.