本文整理汇总了Java中com.mongodb.client.gridfs.model.GridFSFile.getMetadata方法的典型用法代码示例。如果您正苦于以下问题:Java GridFSFile.getMetadata方法的具体用法?Java GridFSFile.getMetadata怎么用?Java GridFSFile.getMetadata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.mongodb.client.gridfs.model.GridFSFile
的用法示例。
在下文中一共展示了GridFSFile.getMetadata方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getAssociatedDocumentStream
import com.mongodb.client.gridfs.model.GridFSFile; //导入方法依赖的package包/类
@Override
public InputStream getAssociatedDocumentStream(String uniqueId, String fileName) {
GridFSBucket gridFS = createGridFSConnection();
GridFSFile file = gridFS.find(new Document(ASSOCIATED_METADATA + "." + FILE_UNIQUE_ID_KEY, getGridFsId(uniqueId, fileName))).first();
if (file == null) {
return null;
}
InputStream is = gridFS.openDownloadStream(file.getObjectId());
;
Document metadata = file.getMetadata();
if (metadata.containsKey(COMPRESSED_FLAG)) {
boolean compressed = (boolean) metadata.remove(COMPRESSED_FLAG);
if (compressed) {
is = new InflaterInputStream(is);
}
}
return is;
}
示例2: findMetadata
import com.mongodb.client.gridfs.model.GridFSFile; //导入方法依赖的package包/类
public Document findMetadata(String oid) {
GridFSFile first = fileStore.find(eq("_id", new ObjectId(oid))).first();
if(first == null) {
return null;
} else {
return first.getMetadata();
}
}
示例3: checkEtag
import com.mongodb.client.gridfs.model.GridFSFile; //导入方法依赖的package包/类
private boolean checkEtag(HttpServerExchange exchange, GridFSFile dbsfile) {
if (dbsfile != null) {
Object etag;
if (dbsfile.getMetadata() != null
&& dbsfile.getMetadata().containsKey("_etag")) {
etag = dbsfile.getMetadata().get("_etag");
} else {
etag = null;
}
if (etag != null && etag instanceof ObjectId) {
ObjectId _etag = (ObjectId) etag;
BsonObjectId __etag = new BsonObjectId(_etag);
// in case the request contains the IF_NONE_MATCH header with the current etag value,
// just return 304 NOT_MODIFIED code
if (RequestHelper.checkReadEtag(exchange, __etag)) {
exchange.setStatusCode(HttpStatus.SC_NOT_MODIFIED);
exchange.endExchange();
return true;
}
}
}
return false;
}
示例4: loadGridFSToAssociatedDocument
import com.mongodb.client.gridfs.model.GridFSFile; //导入方法依赖的package包/类
private AssociatedDocument loadGridFSToAssociatedDocument(GridFSBucket gridFS, GridFSFile file, FetchType fetchType) throws IOException {
AssociatedDocument.Builder aBuilder = AssociatedDocument.newBuilder();
aBuilder.setFilename(file.getFilename());
Document metadata = file.getMetadata();
boolean compressed = false;
if (metadata.containsKey(COMPRESSED_FLAG)) {
compressed = (boolean) metadata.remove(COMPRESSED_FLAG);
}
long timestamp = (long) metadata.remove(TIMESTAMP);
aBuilder.setCompressed(compressed);
aBuilder.setTimestamp(timestamp);
aBuilder.setDocumentUniqueId((String) metadata.remove(DOCUMENT_UNIQUE_ID_KEY));
for (String field : metadata.keySet()) {
aBuilder.addMetadata(Metadata.newBuilder().setKey(field).setValue((String) metadata.get(field)));
}
if (FetchType.FULL.equals(fetchType)) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
gridFS.downloadToStream(file.getObjectId(), byteArrayOutputStream);
byte[] bytes = byteArrayOutputStream.toByteArray();
if (null != bytes) {
if (compressed) {
bytes = CommonCompression.uncompressZlib(bytes);
}
aBuilder.setDocument(ByteString.copyFrom(bytes));
}
}
aBuilder.setIndexName(indexName);
return aBuilder.build();
}
示例5: sendBinaryContent
import com.mongodb.client.gridfs.model.GridFSFile; //导入方法依赖的package包/类
private void sendBinaryContent(
final RequestContext context,
final GridFSBucket gridFSBucket,
final GridFSFile file,
final HttpServerExchange exchange)
throws IOException {
LOGGER.trace("Filename = {}", file.getFilename());
LOGGER.trace("Content length = {}", file.getLength());
if (file.getMetadata() != null
&& file.getMetadata().get("contentType") != null) {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE,
file.getMetadata().get("contentType").toString());
} else if (file.getMetadata() != null
&& file.getMetadata().get("contentType") != null) {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE,
file.getMetadata().get("contentType").toString());
} else {
exchange.getResponseHeaders().put(
Headers.CONTENT_TYPE,
APPLICATION_OCTET_STREAM);
}
exchange.getResponseHeaders().put(
Headers.CONTENT_LENGTH,
file.getLength());
exchange.getResponseHeaders().put(
Headers.CONTENT_DISPOSITION,
String.format("inline; filename=\"%s\"",
extractFilename(file)));
exchange.getResponseHeaders().put(
Headers.CONTENT_TRANSFER_ENCODING,
CONTENT_TRANSFER_ENCODING_BINARY);
ResponseHelper.injectEtagHeader(exchange, file.getMetadata());
context.setResponseStatusCode(HttpStatus.SC_OK);
gridFSBucket.downloadToStream(
file.getId(),
exchange.getOutputStream());
}
示例6: getAssociatedDocuments
import com.mongodb.client.gridfs.model.GridFSFile; //导入方法依赖的package包/类
public void getAssociatedDocuments(OutputStream outputstream, Document filter) throws IOException {
Charset charset = Charset.forName("UTF-8");
GridFSBucket gridFS = createGridFSConnection();
GridFSFindIterable gridFSFiles = gridFS.find(filter);
outputstream.write("{\n".getBytes(charset));
outputstream.write(" \"associatedDocs\": [\n".getBytes(charset));
boolean first = true;
for (GridFSFile gridFSFile : gridFSFiles) {
if (first) {
first = false;
}
else {
outputstream.write(",\n".getBytes(charset));
}
Document metadata = gridFSFile.getMetadata();
String uniqueId = metadata.getString(DOCUMENT_UNIQUE_ID_KEY);
String uniquieIdKeyValue = " { \"uniqueId\": \"" + uniqueId + "\", ";
outputstream.write(uniquieIdKeyValue.getBytes(charset));
String filename = gridFSFile.getFilename();
String filenameKeyValue = "\"filename\": \"" + filename + "\", ";
outputstream.write(filenameKeyValue.getBytes(charset));
Date uploadDate = gridFSFile.getUploadDate();
String uploadDateKeyValue = "\"uploadDate\": {\"$date\":" + uploadDate.getTime() + "}";
outputstream.write(uploadDateKeyValue.getBytes(charset));
metadata.remove(TIMESTAMP);
metadata.remove(COMPRESSED_FLAG);
metadata.remove(DOCUMENT_UNIQUE_ID_KEY);
metadata.remove(FILE_UNIQUE_ID_KEY);
if (!metadata.isEmpty()) {
String metaJson = metadata.toJson();
String metaString = ", \"meta\": " + metaJson;
outputstream.write(metaString.getBytes(charset));
}
outputstream.write(" }".getBytes(charset));
}
outputstream.write("\n ]\n}".getBytes(charset));
}