Jira插件開發中的附件上傳

介紹一下附件上傳的操作,內容是這樣,通過一個自定義Action,上傳附件同時根據在Action的動作裏面創建一個Issue,然後附件掛到該Issue上去

 

test.vm

Html代碼  收藏代碼
  1. <form enctype="multipart/form-data" action="$requestContext.baseUrl/secure/TestAction.jspa" method="post">  
  2.     <input type="file" name="file" >  
  3.     <input type="submit">  
  4. </form>  

 

TestAction.java

Java代碼  收藏代碼
  1. @Override  
  2.     protected String doExecute() throws Exception {  
  3.         MultiPartRequestWrapper wrapper = (MultiPartRequestWrapper) ServletActionContext.getRequest();  
  4.         File f = wrapper.getFile("file");   //表單中的name  
  5.   
  6.         IssueInputParameters issueInputParameters = new IssueInputParametersImpl();  
  7.         issueInputParameters.setProjectId(10000l).setIssueTypeId("1").setSummary("測試附件").setReporterId("admin").setAssigneeId("admin");  
  8.         IssueService.CreateValidationResult createValidationResult = issueService.validateCreate(this.getLoggedInUser(), issueInputParameters);  
  9.         if (createValidationResult.isValid()) {  
  10.             IssueService.IssueResult createResult = issueService.create(getLoggedInUser(), createValidationResult);  
  11.             MutableIssue mutableIssue = createResult.getIssue();  
  12.             attachmentManager.createAttachment(f, wrapper.getFilesystemName("file"), wrapper.getContentType("file"), getLoggedInUser(), mutableIssue);  
  13.         }  
  14.           
  15.         return SUCCESS;  
  16.     }  

 

對於文件上傳的表單需要這樣處理

Java代碼  收藏代碼
  1. MultiPartRequestWrapper wrapper = (MultiPartRequestWrapper) ServletActionContext.getRequest();  
 得到wrapper對象後,
Java代碼  收藏代碼
  1. //得到要上傳的文件對象  
  2. wrapper.getFile("file");  
  3. //取得文件名稱  
  4. wrapper.getFilesystemName("file");  
  5. //取得文件類型  
  6. wrapper.getContentType("file");  
 創建好Issue之後使用AttachmentManager中的createAttachment方法來將附件和Issue關聯
Java代碼  收藏代碼
  1. ChangeItemBean createAttachment(File file, String filename, String contentType, User author, Issue issue) throws AttachmentException;

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