xpages多附件接收

    有些時間不寫博客,最新有需求在xpages做個多附件上傳的功能,以前都是在後端使用java的servlet接收前端上傳過來的附件,思考xpages有沒有代碼直接實現原來單獨在eclipse寫java代碼實現。功夫不負有心人,終於找到對應的方式。

參考信息,以及原來使用前兩篇文章使用的前端 文章1   文章2 內容,直接使用xpages做後端,以下是幾個截圖。

 

var con:javax.faces.context.ExternalContext = facesContext.getExternalContext();
	var request:com.sun.faces.context.MyHttpServletRequestWrapper = con.getRequest();
	var map:java.util.Map = request.getParameterMap();
	
	//返回json
	var writer = facesContext.getResponseWriter();
	var response = con.getResponse();
	response.setContentType("application/json");	 
	response.setHeader("Cache-Control", "no-cache");

	//獲取傳遞的值
	var strUNID = map.get("name");
	var strFileName = map.get("file");
	print('name-->'+strUNID);
	print('size-->'+map.get("size"));
	print('type-->'+map.get("type"));
	print('file-->'+strFileName);
	
	//file爲網頁的上傳附件的input name
	var fileData:com.ibm.xsp.http.UploadedFile = map.get("file"); 
	print ("processing upload: " + fileData.getClientFileName() );
	var tempFile:java.io.File = fileData.getServerFile();
	print('11');
	//var tempFile = fileData.getServerFile();
	print(tempFile.getParentFile().getAbsolutePath());
	print(fileData.getClientFileName());
	
	var correctedFile:java.io.File = new java.io.File( tempFile.getParentFile().getAbsolutePath() + java.io.File.separator +
 		fileData.getClientFileName() );
 		
 	//rename the file on the OS so we can embed it with its correct name
 	var success = tempFile.renameTo(correctedFile);	
 	print('correctedFile.getPath()-->'+correctedFile.getPath());
 /*
 //上傳到富域
 if (docTarget.hasItem(strItemNameFiles) ) {
 		rtFiles = docTarget.getFirstItem(strItemNameFiles);
 	} else {
 		rtFiles = docTarget.createRichTextItem(strItemNameFiles);
 	}	
 rtFiles.embedObject(lotus.domino.local.EmbeddedObject.EMBED_ATTACHMENT, "", correctedFile.getAbsolutePath(), null);
 */	
 	//刪除附件 
 	//correctedFile.delete();
 
 	writer.write(strUNID); 
	writer.endDocument();

 

QQ交流: 873968102

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