有可能将PLUpload与CouchDB结合使用吗?

有可能将PLUpload与CouchDB结合使用吗?,couchdb,plupload,Couchdb,Plupload,我正在寻找一些上传图像到我的CouchDB的可能性,并在上传之前调整它们的大小,只要它们还在客户端。PLUpload提供了这样做的可能性,但我想知道它是否可以与CouchDB一起使用。经过大量的尝试和阅读,我终于成功地使用PLUpload将图片上传到CouchDB。 主要问题是有一个未记录的属性“file\u data\u name”,必须手动设置该属性以满足CouchDB的需要。默认值为“name”,但CouchDB应为“\u附件”。我只是通过检查flash运行时的源代码才找到了这个属性 下面

我正在寻找一些上传图像到我的CouchDB的可能性,并在上传之前调整它们的大小,只要它们还在客户端。PLUpload提供了这样做的可能性,但我想知道它是否可以与CouchDB一起使用。

经过大量的尝试和阅读,我终于成功地使用PLUpload将图片上传到CouchDB。 主要问题是有一个未记录的属性“file\u data\u name”,必须手动设置该属性以满足CouchDB的需要。默认值为“name”,但CouchDB应为“\u附件”。我只是通过检查flash运行时的源代码才找到了这个属性

下面是我用来初始化PLUpload的javascript:

$("form#pluploadForm #uploader").plupload({
  // General settings
  runtimes : 'flash,silverlight,html5',
  url : 'http://your.path.to.couchdb.com/database/[documentid]',
  max_file_size : '10mb',
  unique_names : true,
  file_data_name : "_attachments",

  // Resize images on clientside if we can
  resize : {width : 320, height : 240, quality : 90},

  // Specify what files to browse for
  filters : [
    {title : "Image files", extensions : "jpg,gif,png"},
    {title : "Zip files", extensions : "zip"}
  ],

  // Flash settings
  flash_swf_url : 'js/plupload.flash.swf',

  // Silverlight settings
  silverlight_xap_url : 'js/plupload.silverlight.xap',

  multipart : true,
  multipart_params : {
    description: "uploadedViaPlupload",
   _rev: "[the current revision of your document]",
  }
});

但使用这种方法,只能将一个图像转换为一个文档。上载到多个文档不起作用,但我还没有真正尝试过它。

您要做的是在上载文件之前覆盖PLUploader的BeforeUpload事件以使用您的Coach实例。在下面的方法中,我创建了一个新文档(使用jquery.coach.js),获取响应,并使用新文档的新id和新版本来设置PLUploader实例选项

uploader.bind('BeforeUpload', function(up, file) {
  $db.saveDoc({
    users : ['all']
  }, {
    success : function(response) {
      if(response.ok) {
        up.settings.url = 'http://127.0.0.1:5984/filesystem/' + response.id;
        up.settings.multipart_params._rev = response.rev;
        up.trigger("UploadFile", file);
      }
    }
  });
  return false;
});