java fileupload 文件_java用Commons fileupload 文件的上传
java用Commons fileupload 文件的上傳
基于表單的文件上傳
如果在表單中使用表單元素
/>,瀏覽器在解析表單時,會自動生成一個輸入框和一個按鈕,輸入框可供用戶填寫本地文件的文件名和路徑名,按鈕可以讓瀏覽器打開一個文件選擇框供
用戶選擇文件:
當表單需要上傳文件時,需指定表單 enctype 的值為 multipart/form-data
在 form 元素的語法中,enctype 屬性指定將數據發送到服務器時瀏覽器使用的編碼類型。
enctype 屬性取值:
application/x-www-form-urlencoded:表單 enctype
屬性的默認值。這種編碼方案使用有限的字符集,當使用了非字母和數字時,必須用”%HH”代替(H 代表十六進制數字)。對于大容量的二進制數據或包含非
ASCII 字符的文本來說,這種編碼不能滿足要求。
multipart/form-data
:form
設定了enctype=“multipart/form-data”屬性后,表示表單以二進制傳輸數據 .
Commons-fileupload 組件上傳的基本原理
FileUpload組件將頁面提交的所有元素(普通form表單域,如text和文件域file)都看作一樣的FileItem,這樣上傳頁面提
交的
request請求也就是一個FileItem的有序組合,FileUpload組件可以解析該request,并返回一個一個的FileItem。而對
每一個FileItem,FileUpload組件可以判斷出它是普通form表單域還是文件file域,從而根據不同的類型,采取不同的操作--如果是
表單域,就讀出其值,如果是文件域,就保存文件到服務器硬盤上或者內存中
Commons-fileupload 組件API
ServletFileUpload
負責處理上傳的文件數據,并將每部分的數據封裝成一到 FileItem 對象中。
DiskFileItemFactory
是創建
FileItem 對象的工廠,在這個工廠類中可以配置內存緩沖區大小和存放臨時文件的目錄。
ServletFileUpload
在接收上傳文件數據時,會將內容保存到內存緩存區中,如果文件內容超過了 DiskFileItemFactory
指定的緩沖區的大小,那么文件將被保存到磁盤上,存儲為 DiskFileItemFactory
指定目錄中的臨時文件。等文件數據都接收完畢后,ServletUpload 在從文件中將數據寫入到上傳文件目錄下的文件中
進行文件上傳的具體操作:
首先,加載必要的jar包:“commons-fileupload-1.2.1.jar”
//使用 FileUpload 組件解析表單:
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
//
相關文檔:
Java Arrays中提供了對所有類型的排序。其中主要分為primitive和Object兩大類,分別使用了快速排序與合并排序。本章以int[] 的排序,講解Java對primitive排序。
首先大家要了解什么是快速排序,它有什么優點,這些我就不累述了,給出地址。http://zh.wikipedia.org/zh/%E5%BF%AB%E9 ......
今天在編寫一個快速排序函數,其中想用一個在C++中類似swap功能的函數,結果引發了一系列的問題。
下面是在網上搜到的代碼,并在我的本地機上作了運行。
public ? class ? ParamTest
{
public ? static ? void ......
package com.color.program;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CompareTime {
public static void main(String[] args){
String t1 = "2008-05-09";
String t2 = "20 ......
轉帖http://zmfkplj.javaeye.com/blog/629678
在初學java swing時便用的是Jbuilder,便捷的工具下產生的結果有兩個,一好一壞。好的方面是太爽了,僅僅鼠標點擊,鼠標移動,便會產出不用理解的代碼,而這些代碼照樣能運行,完成所需要的功能;壞的方面是太糟了,當離開Jbuilder工具開發swing時,所有的方面通通沒有,所有� ......
首先從一道面試題目談起:
package pkg1;
public class Jupiter
{
void method1(){
System.out.println("In Jupiter");
}
public void call(){
method1();
}
}
package pkg2;
import pkg1.Jupiter;
public class Minerva extends Jupiter{
public void method1(){
......
總結
以上是生活随笔為你收集整理的java fileupload 文件_java用Commons fileupload 文件的上传的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java tika pdf转图片_使用t
- 下一篇: php://input allow_ur