|
//通过调用createAttachmentDowloadAddress()方法获取该附件的下载地址
1.fattachment 是这种格式的
String fattachment = "[{"docID":"C60B2322B74000019A5ED0805620CB70","docName":"hello.png","size":8918588,"fileID":"16-defaultDocNameSpace","docPath":"/defaultDocNameSpace/B7DD46ED17C54C778E9EF8A0E4F0B8D6/85FB6C51B02C4B59BEBF55C35990EB12","time":"2014-02-19T17:40:26.159Z"}]";
2.我把docInfo变成了这种格式
String docInfo ={"docID":"C60B2322B74000019A5ED0805620CB70","docName":"hello.png","size":8918588,"fileID":"16-defaultDocNameSpace","docPath":"/defaultDocNameSpace/B7DD46ED17C54C778E9EF8A0E4F0B8D6/85FB6C51B02C4B59BEBF55C35990EB12","time":"2014-02-19T17:40:26.159Z"}
3.我把docInfo变成了一个json对象,并获取到docPath,fileID的值
4.根据帖子中4楼的做法,导入DocAdapter,调用queryNoPermissionHost(Boolean isHttps, String docPath, String urlPattern, Boolean isFormAction)方法(没有限制权限
java代码实现上传文件到文档服务器、下载文档服务器文件http://bbs.justep.com/forum.php?mod=viewthread&tid=40457
5.关于urlPattern的值我是看了看 \system\service\doc\docUtil.js中的
getURLByFileID : function(docPath, fileID, versionID, partType) {
var versionID = versionID ? versionID : "last";
var partType = partType ? partType : "content";
return this.getdocServerAction(docPath, "/repository/file/download/" + fileID + "/" + versionID + "/" + partType ); }
这些代码才得出的
6.得到的docUrl是这样的
/UI/system/service/doc/common/uploadDoc.j?dochost=http://localhost:8080/DocServer/repository/file/download/18-defaultDocNameSpace/last/content?key=63b386a3db4f2e24be757335b7a5fb8b9d566a602463c1becb09ca378a0a8294f354cb841844dc7f16fc336669bb60037455b6a122dfc69f27bf84c5d16a8511a02f8d2ad476cf3a5aab6cd57d647193afa74a58262fd3d1424f21972204e88f98d75f643e21183fb189a56812b5377f
7.然后我截取了一下,得到的
http://localhost:8080/DocServer/repository/file/download/18-defaultDocNameSpace/last/content?key=63b386a3db4f2e24be757335b7a5fb8b9d566a602463c1becb09ca378a0a8294f354cb841844dc7f16fc336669bb60037455b6a122dfc69f27bf84c5d16a8511a02f8d2ad476cf3a5aab6cd57d647193afa74a58262fd3d1424f21972204e88f98d75f643e21183fb189a56812b5377f
8.或得到的http://localhost:8080是你文档配置中文档服务器的地址 ,这样就能复制然后在地址栏里粘贴enter就会显示下载提示
public static String createAttachmentDowloadAddress(String fattachment) {
String docUrl = null;
try {
String docInfo = fattachment.substring(1, fattachment.length() - 1);
JSONObject obj = new JSONObject(docInfo);
String docPath = obj.get("docPath").toString();
String fileID = obj.get("fileID").toString();
docUrl = DocAdapter.queryNoPermissionHost(false, docPath,
"/repository/file/download/" + fileID + "/last/content",
true);
} catch (Exception e) {
e.printStackTrace();
}
return docUrl.substring(50);
}
分享的内容有些可能考虑的不周全 ,望见谅,请大家多多指教!
|
评分
-
查看全部评分
|