FormData和RestEasy的實例

html的script

//上傳文件
var fileObj = document.getElementById("id").files[0];
//url
var FileController = "url";

// FormData 對象
var form = new FormData();
form.append("file", fileObj);
//input text的內容
form.append("id", text.value);

// XMLHttpRequest 對象
var xhr = new XMLHttpRequest();
// xhr.responseType = 'json';
xhr.open("post", FileController, false);
xhr.onload = function(e)
{
  if (this.status != "200") {
   //返回錯誤....處理這裏寫
  }
  // 返す値の取得
  var reponseObject = jQuery.parseJSON(this.response);

};
// callback
// xhr.onreadystatechange = processResponse;
xhr.send(form);
}

Resource.java


public Response addUserBatch (MultipartFormDataInput input) {

// フォーム
Map<String, List<InputPart>> uploadForm = input.getFormDataMap();

// textValue
InputPart inputTenantPart = uploadForm.get("key").get(0);
***重要:String aaaId = inputTenantPart.getBodyAsString();

// ファイル
List<InputPart> inputParts = uploadForm.get("file");
InputPart inputPart = inputParts.get(0);
MultivaluedMap<String, String> header = inputPart.getHeaders();
String fileName = HttpRequestUtil.getFileName(header);
int index = fileName.lastIndexOf(Constant.Symbol.DOT);
if (index != -1) {
    String suffix = fileName.substring(index);

} else {
    status = Status.NOT_FOUND;

    return Response.status(status).entity(mapMutiAddResult).build();
}

InputStream inputStream = inputPart
        .getBody(InputStream.class, null);
}
/************************************************/


// ファイルの読む
BufferedReader reader = new BufferedReader(
        new InputStreamReader(inputStream,
                Constant.Charset.SHIFT_JIS));
csvReader = new CSVReader(reader);

// 內容をリストに格納する.
resultList = csvReader.readAll();

// 空文字列の行の場合、
for (String[] line : resultList) {
    if (StringUtil.isEmpty(StringUtils.join(line))) {
        // 総行數
        emptyRecordCount = emptyRecordCount + 1;
    }
}

// 處理文件的內容.

// ファイル內容のチェック
try {
    // 一行目からループ
    for (int i = 1; i < resultList.size(); i++) {


        // カレント行
        String[] row = resultList.get(i);


        // カレント行が空文字列の行の場合、
        if (StringUtil.isEmpty(StringUtils.join(row))) {
            continue;
        }
        // カレント行の列數のチェック、エラー場合、
        if (row.length < Constant.HEADERLINE_LENGTH) {
            // 次の行に遷移する。
            continue;
        }


    }

} catch (Exception exception) {

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章