类com.mongodb.gridfs.GridFSDBFile源码实例Demo

下面列出了怎么用com.mongodb.gridfs.GridFSDBFile的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: pampas   文件: MongoTest.java
@Test
@Ignore
public void storeFile() throws IOException {
    File file = new File("/home/darrenfu/IdeaProjects/pampas/pampas-grpc/df/open/grpc/hello/grpc-test-229014610914606914.jar");
    GridFS gridFS = new GridFS(datastore.getDB());

    GridFSInputFile gridFSInputFile = gridFS.createFile(file);
    if (gridFS.findOne(file.getName()) == null) {
        gridFSInputFile.setId(file.getName());
        gridFSInputFile.setMetaData(new BasicDBObject("version", "1.1.2"));
        gridFSInputFile.save();
    }

    GridFSDBFile fsdbFile = gridFS.findOne(file.getName());
    File newfile = new File("/home/darrenfu/IdeaProjects/pampas/pampas-grpc/df/open/grpc/hello/grpc-test-229014610914606914.new.jar");
    if (newfile.exists()) {
        newfile.delete();
    }
    newfile.createNewFile();
    newfile.setWritable(true);

    fsdbFile.writeTo(newfile);
    System.out.println("done : " + fsdbFile.getFilename());
}
 
源代码2 项目: beam   文件: MongoDbGridFSIO.java
@Override
public long getEstimatedSizeBytes(PipelineOptions options) throws Exception {
  Mongo mongo = spec.connectionConfiguration().setupMongo();
  try {
    GridFS gridfs = spec.connectionConfiguration().setupGridFS(mongo);
    DBCursor cursor = createCursor(gridfs);
    long size = 0;
    while (cursor.hasNext()) {
      GridFSDBFile file = (GridFSDBFile) cursor.next();
      size += file.getLength();
    }
    return size;
  } finally {
    mongo.close();
  }
}
 
源代码3 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> findAll(OrderBy orderBy, Page page) {
    DBCursor _cursor = __dbCollection.find();
    if (orderBy != null) {
        _cursor.sort(orderBy.toBson());
    }
    if (page != null && page.page() > 0 && page.pageSize() > 0) {
        _cursor.skip((page.page() - 1) * page.pageSize()).limit(page.pageSize());
    }
    List<GridFSDBFile> _results = new ArrayList<GridFSDBFile>();
    while (_cursor.hasNext()) {
        _results.add((GridFSDBFile) _cursor.next());
    }
    _cursor.close();
    return _results;
}
 
源代码4 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> find(Query query, OrderBy orderBy, Page page) {
    DBCursor _cursor = __dbCollection.find(query.toBson());
    if (orderBy != null) {
        _cursor.sort(orderBy.toBson());
    }
    if (page != null && page.page() > 0 && page.pageSize() > 0) {
        _cursor.skip((page.page() - 1) * page.pageSize()).limit(page.pageSize());
    }
    List<GridFSDBFile> _results = new ArrayList<GridFSDBFile>();
    while (_cursor.hasNext()) {
        _results.add((GridFSDBFile) _cursor.next());
    }
    _cursor.close();
    return _results;
}
 
源代码5 项目: BLELocalization   文件: MongoService.java
private boolean readFile(GridFSDBFile dbFile, OutputStream os) throws IOException {
	InputStream is = null;
	try {
		is = dbFile.getInputStream();
		byte data[] = new byte[4096];
		int len = 0;
		while ((len = is.read(data, 0, data.length)) > 0) {
			os.write(data, 0, len);
		}
		return true;
	} finally {
		if (is != null) {
			is.close();
		}
	}
}
 
源代码6 项目: BLELocalization   文件: MongoService.java
public void sendFile(String path, HttpServletResponse response) throws IOException {
	GridFSDBFile file = getFile(path);
	if (file == null) {
		response.sendError(HttpServletResponse.SC_BAD_REQUEST, String.format("File %s does not exist", path));
	} else {
		String contentType = file.getContentType();
		if (contentType != null) {
			response.setContentType(contentType);
		}
		OutputStream os = null;
		try {
			readFile(file, os = response.getOutputStream());
		} catch (Exception e) {
			System.err.println("Send error: " + path);
		} finally {
			if (os != null) {
				os.close();
			}
		}
	}
}
 
源代码7 项目: openbd-core   文件: FindOne.java
/**
 * Converts a GridFSDBFile object into a struct
 * 
 * @param filefs
 * @return
 */
protected cfStructData	toStruct( GridFSDBFile filefs ){
	cfStructData	s	= new cfStructData();
	if ( filefs == null )
		return s;
	
	s.put("_id", 				new cfStringData(filefs.getId().toString()) );
	s.put("chunkSize", 	new cfNumberData(filefs.getChunkSize()) );
	s.put("length", 		new cfNumberData(filefs.getLength()) );
	s.put("md5",			 	new cfStringData(filefs.getMD5()) );
	s.put("filename", 	new cfStringData(filefs.getFilename()) );
	s.put("contentType", new cfStringData(filefs.getContentType()) );
	s.put("uploadDate", new cfDateData(filefs.getUploadDate()) );
	
	s.put("metadata", 	tagUtils.convertToCfData( filefs.getMetaData() ) );
	
	return s;
}
 
源代码8 项目: lumongo   文件: MongoConstants.java
public static byte[] readFileFromGridFS(GridFSDBFile file) {
	InputStream is = file.getInputStream();
	ByteArrayOutputStream baos = new ByteArrayOutputStream();
	try {

		byte bytes[] = new byte[BUFFER_SIZE];
		int read = -1;

		while ((read = is.read(bytes)) != -1) {
			baos.write(bytes, 0, read);
		}

		return baos.toByteArray();
	}
	catch (Exception e) {
	}
	return null;
}
 
源代码9 项目: incubator-retired-wave   文件: MongoDbStore.java
private AttachmentData fileToAttachmentData(final GridFSDBFile attachmant) {
  if (attachmant == null) {
    return null;
  } else {
    return new AttachmentData() {

      @Override
      public InputStream getInputStream() throws IOException {
        return attachmant.getInputStream();
      }

      @Override
      public long getSize() {
        return attachmant.getLength();
      }
    };
  }
}
 
源代码10 项目: beam   文件: MongoDbGridFSIO.java
@Override
public List<? extends BoundedSource<ObjectId>> split(
    long desiredBundleSizeBytes, PipelineOptions options) throws Exception {
  Mongo mongo = spec.connectionConfiguration().setupMongo();
  try {
    GridFS gridfs = spec.connectionConfiguration().setupGridFS(mongo);
    DBCursor cursor = createCursor(gridfs);
    long size = 0;
    List<BoundedGridFSSource> list = new ArrayList<>();
    List<ObjectId> objects = new ArrayList<>();
    while (cursor.hasNext()) {
      GridFSDBFile file = (GridFSDBFile) cursor.next();
      long len = file.getLength();
      if ((size + len) > desiredBundleSizeBytes && !objects.isEmpty()) {
        list.add(new BoundedGridFSSource(spec, objects));
        size = 0;
        objects = new ArrayList<>();
      }
      objects.add((ObjectId) file.getId());
      size += len;
    }
    if (!objects.isEmpty() || list.isEmpty()) {
      list.add(new BoundedGridFSSource(spec, objects));
    }
    return list;
  } finally {
    mongo.close();
  }
}
 
源代码11 项目: jsflight   文件: MongoDbStorageService.java
@Nullable
private InputStream getStreamByFilename(String fname)
{
    GridFSDBFile file = getGridFsTemplate().findOne(new Query().addCriteria(Criteria.where("filename").is(fname)));

    return file != null ? file.getInputStream() : null;
}
 
源代码12 项目: XBDD   文件: Attachment.java
@GET
@Path("/{id}")
public Response getAttachment(@PathParam("id") final String id) throws IOException {
	final GridFS gridFS = new GridFS(this.mongoLegacyGrid);
	final GridFSDBFile file = gridFS.findOne(id);
	// log.info(file);
	if (file == null) {
		throw new WebApplicationException(404);
	}
	return Response.ok(org.apache.commons.io.IOUtils.toByteArray(file.getInputStream()), file.getContentType()).build();

}
 
源代码13 项目: osiris   文件: MapFileRepositoryCustomImpl.java
private InputStream getMapFileByAppId(GridFS gridFS,String appIdentifier) throws MapFileNotExistsException{
	InputStream fileMap=null;
	GridFSDBFile gridFSFileMap = gridFS.findOne(appIdentifier);
	if(gridFSFileMap==null){
		throw new MapFileNotExistsException();
	}
	fileMap=gridFSFileMap.getInputStream();
	return fileMap;
}
 
源代码14 项目: openbd-core   文件: Find.java
private cfArrayData toArray( List<GridFSDBFile> list ) throws cfmRunTimeException{
	cfArrayData arr	= cfArrayData.createArray(1);
	if ( list == null || list.size() == 0 )
		return arr;
	
	Iterator<GridFSDBFile> it	= list.iterator();
	while ( it.hasNext() ){
		GridFSDBFile f	= it.next();
		arr.addElement( toStruct(f) );
	}
	
	return arr;
}
 
源代码15 项目: kurento-java   文件: MongoRepository.java
private MongoRepositoryItem createRepositoryItem(GridFSDBFile dbFile) {

    MongoRepositoryItem item = new MongoRepositoryItem(this, dbFile);

    Map<String, String> metadata = new HashMap<>();
    DBObject object = dbFile.getMetaData();
    for (String key : object.keySet()) {
      metadata.put(key, object.get(key).toString());
    }
    item.setMetadata(metadata);
    return item;
  }
 
源代码16 项目: kurento-java   文件: MongoRepository.java
private List<RepositoryItem> findRepositoryItemsByQuery(String query) {
  List<GridFSDBFile> files = gridFS.find((DBObject) JSON.parse(query));

  List<RepositoryItem> repositoryItems = new ArrayList<>();
  for (GridFSDBFile file : files) {
    repositoryItems.add(createRepositoryItem(file));
  }

  return repositoryItems;
}
 
源代码17 项目: bugu-mongo   文件: ImageUploader.java
private InputStream getOriginalInputStream(){
    DBObject query = new BasicDBObject(BuguFS.FILENAME, filename);
    query.put(DIMENSION, null);
    BuguFS fs = BuguFSFactory.getInstance().create(connection, bucket, chunkSize);
    GridFSDBFile f = fs.findOne(query);
    return f.getInputStream();
}
 
源代码18 项目: bugu-mongo   文件: BuguFS.java
public BuguFS(String connectionName, String bucket, int chunkSize){
    this.bucket = bucket;
    this.chunkSize = chunkSize;
    DB db = BuguFramework.getInstance().getConnection(connectionName).getDB();
    fs = new GridFS(db, bucket);
    files = db.getCollection(bucket + ".files");
    //ensure the DBCursor can be cast to GridFSDBFile
    files.setObjectClass(GridFSDBFile.class);
}
 
源代码19 项目: bugu-mongo   文件: BuguFS.java
public void rename(GridFSDBFile file, String newName){
    ObjectId id = (ObjectId)file.getId();
    DBObject query = new BasicDBObject(Operator.ID, id);
    DBObject dbo = files.findOne(query);
    dbo.put(FILENAME, newName);
    files.save(dbo);
}
 
源代码20 项目: bugu-mongo   文件: BuguFS.java
private List<GridFSDBFile> toFileList(DBCursor cursor){
    List<GridFSDBFile> list = new ArrayList<GridFSDBFile>();
    while(cursor.hasNext()){
        DBObject dbo = cursor.next();
        list.add((GridFSDBFile)dbo);
    }
    cursor.close();
    return list;
}
 
源代码21 项目: incubator-retired-wave   文件: MongoDbStore.java
@Override
public AttachmentMetadata getMetadata(AttachmentId attachmentId) throws IOException {
  final GridFSDBFile metadata = metadataGrid.findOne(attachmentId.serialise());

  if (metadata == null) {
    return null;
  }
  AttachmentProto.AttachmentMetadata protoMetadata =
      AttachmentProto.AttachmentMetadata.parseFrom(metadata.getInputStream());
  return new AttachmentMetadataProtoImpl(protoMetadata);
}
 
源代码22 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public GridFSDBFile findFirst(String filename) {
    return __gridFS.findOne(filename);
}
 
源代码23 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public GridFSDBFile findFirst(Query query) {
    return __gridFS.findOne(query.toBson());
}
 
源代码24 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public GridFSDBFile findById(String id) {
    return __gridFS.find(new ObjectId(id));
}
 
源代码25 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> findAll() {
    return findAll(null, null);
}
 
源代码26 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> findAll(OrderBy orderBy) {
    return findAll(orderBy, null);
}
 
源代码27 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> find(String filename) {
    return __gridFS.find(filename);
}
 
源代码28 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> find(String filename, OrderBy orderBy) {
    return __gridFS.find(filename, orderBy.toBson());
}
 
源代码29 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> find(Query query) {
    return __gridFS.find(query.toBson());
}
 
源代码30 项目: ymate-platform-v2   文件: MongoGridFSSession.java
@Override
public List<GridFSDBFile> find(Query query, OrderBy orderBy) {
    return __gridFS.find(query.toBson(), orderBy.toBson());
}
 
 类所在包
 类方法
 同包方法