繁体   English   中英

如何使用Couchdb4j库向CouchDB添加附件

[英]How to add attachment to CouchDB using Couchdb4j library

如何使用Couchdb4J库使用Java应用程序将系统文件添加为Couchdb数据库的附件?

我尝试修改下面的示例代码,但是有未解决的错误。 有人知道我的错误在哪里以及如何解决吗? 提前致谢。

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

import com.fourspaces.couchdb.CouchResponse;
import com.fourspaces.couchdb.Database;
import com.fourspaces.couchdb.Document;
import com.fourspaces.couchdb.Session;

public class FileScanner {

Session priceListDocsSession = new Session("localhost",5984);
  Database db = priceListDocsSession.getDatabase("filesdb");

  public static void main(String[] args) {
  FileScanner fs = new FileScanner();

 fs.processDir(new File("C:\\CouchDB"));
}

void processDir(File f) {
if (f.isFile()) {
  Map<String, Object> doc = new HashMap<String, Object>();
  doc.put("name", f.getName());
  doc.put("path", f.getAbsolutePath());
  doc.put("size", f.length());


  db.saveDocument(doc);
  InputStream is = new FileInputStream(f);
  String att=db.putAttachment(doc.getId(),doc.getRev(),f,is);
   } 
else {
  File[] fileList = f.listFiles();
  if (fileList == null) return;
  for (int i = 0; i < fileList.length; i++) {
    try {
      processDir(fileList[i]);
     } catch (Exception e) {
      System.out.println(e);
        }

      }
    }
  }
}

错误出现在db.saveDocument(doc);

String att=db.putAttachment(doc.getId(),doc.getRev(),f,is); 表示未定义Map类型的.getId()getRev()

我设法通过在类路径上添加一些jcouchdb依赖项来解决该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM