2. 下载 jackrabbit-standalone-2.10.1.jar,打开服务:java -jar jackrabbit-standalone-2.10.1.jar --port 7000
3.
public class JackRabbitFileServiceImpl implements FileService {
private static Repository repository;
public static Session initSession(){
Session session=null;
if(null==repository){
try {
repository=new URLRemoteRepository(ReadConfig.getValue("file.rmi"));
}catch (MalformedURLException e) {
// TODO Auto-generated catch block e.printStackTrace();
}
}
try {
session=repository.login(new SimpleCredentials("admin","admin".toCharArray()));
}catch (LoginException e) {
// TODO Auto-generated catch block e.printStackTrace();
}catch (RepositoryException e) {
// TODO Auto-generated catch block e.printStackTrace();
}
return session;
}
@Override
public String save(InputStream is, long filesize) {
String fileId=KeyProvider.getPrimaryKey();
try{
Session session=initSession();
Node root= session.getRootNode();
String mimeType= "application/octet-stream";
Node fileNode= root.addNode(fileId, "nt:file");
Node resNode= fileNode.addNode("jcr:content", "nt:resource");
resNode.setProperty("jcr:mimeType", mimeType);
resNode.setProperty("jcr:encoding", "");
resNode.setProperty("jcr:data", is);
Calendar lastModified= Calendar.getInstance();
resNode.setProperty("jcr:lastModified", lastModified);
session.save();
is.close();
session.logout();
}catch(Exception e){
e.printStackTrace();
}
return fileId;
}
@Override
public InputStream getFileById(String fileId) {
InputStream is=null;
try{
Session session=initSession();
Node root= session.getRootNode();
if(root!=null){
NodeIterator filenodes= root.getNodes(fileId);
while (filenodes.hasNext()) {
Node n= filenodes.nextNode();
NodeIterator ni1= n.getNodes();
while (ni1.hasNext()) {
Node n1= ni1.nextNode();
if (n1.getName().equals("jcr:content")) {
is= n1.getProperty("jcr:data")
.getStream();
}
}
}
}
session.logout();
}catch(Exception e){
e.printStackTrace();
}
return is;
}
}
当前题目:Jackrabbit文件上传下载-创新互联
转载来于:https://www.cdcxhl.com/article18/dpcpgp.html
成都网站建设公司_创新互联,为您提供云服务器、网站策划、网站设计、Google、建站公司、标签优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联