Jackrabbit文件上传下载-创新互联

1. 在配置文件config.properties中: file.rmi=http://localhost:7000/rmiJackrabbit文件上传下载

2. 下载 jackrabbit-standalone-2.10.1.jar,打开服务:java -jar jackrabbit-standalone-2.10.1.jar --port 7000

成都创新互联公司于2013年成立,公司以网站建设、成都做网站、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户上1000家,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。

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文件上传下载-创新互联
当前链接:http://myzitong.com/article/dpcpgp.html