Windchill 上传本地文件至文档中

/**
	 * 上传本地附件至文档附件
	 * @param localFile
	 * @param branchId
	 * @throws Exception
	 */
	public String uploadFiles(File localFile,String branchId,String tetx_name,String node)
			throws Exception {
		String docUrl ="";
		WTDocument document = CtDocUtil.getDocumentByBranchId(branchId);
		
		//设置主内容
		ApplicationData appData = ApplicationData.newApplicationData(document);
		appData.setRole(ContentRoleType.SECONDARY);// 附件位置
		appData = ContentServerHelper.service.updateContent(document, appData, localFile.getAbsolutePath());
		appData = (ApplicationData) PersistenceHelper.manager.save(appData);
//		appData = (ApplicationData)PersistenceHelper.manager.refresh(appData);
		String fileNameAppOld = appData.getFileName();
//		String fileName = fileNameApp.substring(0, fileNameApp.lastIndexOf(".")); // 获取名称当文档名称
//		docUrl = CtFormatUtil.getURL(document, fileNameApp);
//		String fileNameApp = fileNameAppOld.replaceAll("\\+", "%2B"); // 特殊字符处理
		String fileNameApp = CtSwUtils.urlStr2Ascii(fileNameAppOld); // 特殊字符处理
		docUrl = "<a href=\"/Windchill/ptc1/delivery/dowmLoadDoc?docNumber=" + document.getNumber()+"&fileName="+fileNameApp+"\" title=\"点击下载\" target=\"_blank\" >" + fileNameApp + "</a>";
		docUrl = docUrl+" <a title='删除该附件' href='javascript:;' class =\""+node+"\" style ='color:red;text-decoration:none;' onclick='deleteFilefield(\""+branchId+"\",\""+fileNameAppOld+"\",\""+tetx_name+"\",\""+node+"\")'>☒</a>";
//		docUrl = "<span style ='border:1px solid #0000CC'>"+docUrl+"</span>";
		return docUrl;
	}
	
/**
	 * 删除文档附件
	 * @param localFile
	 * @param branchId
	 * @throws Exception
	 */
	public void deleteFiles(String branchId,String fileName)throws Exception {
		WTDocument document = CtDocUtil.getDocumentByBranchId(branchId);
		// 单个主要内容  ContentRoleType.PRIMARY  附件 ContentRoleType.SECONDARY
		QueryResult qr = ContentHelper.service.getContentsByRole(document, ContentRoleType.SECONDARY);
		while(qr !=null && qr.hasMoreElements()){
			ContentItem item = (ContentItem) qr.nextElement();
			if (item instanceof ApplicationData) {
				ApplicationData appData = (ApplicationData)item;
				System.out.println("Attachment File: " + appData.getFileName());
				String appDataFileName =appData.getFileName();
				if(CtFormatUtil.hasContent(appDataFileName) && appDataFileName.equals(fileName)) {
					appData = (ApplicationData)PersistenceHelper.manager.delete(appData);
				}
			}
		}
		document = (WTDocument)PersistenceHelper.manager.refresh(document);
	}
	
	/**
	 * 获取文档附件
	 * @param docNumber
	 * @param fileName
	 * @return
	 * @throws Exception
	 */
	public ApplicationData getApplicationData(String docNumber,String fileName) throws Exception {
		WTDocument document = CtDocUtil.getDocumentByNumber(docNumber);
		if(document != null) {
			// 单个主要内容  ContentRoleType.PRIMARY  附件 ContentRoleType.SECONDARY
			QueryResult qr = ContentHelper.service.getContentsByRole(document, ContentRoleType.SECONDARY);
			while(qr !=null && qr.hasMoreElements()){
				ContentItem item = (ContentItem) qr.nextElement();
				if (item instanceof ApplicationData) {
					ApplicationData appData = (ApplicationData)item;
					System.out.println("Attachment File: " + appData.getFileName());
					String appDataFileName =appData.getFileName();
					if(CtFormatUtil.hasContent(appDataFileName) && appDataFileName.equals(fileName)) {
						return appData;
					}
				}
			}
		}
		return null;
	}

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值