正在将文件上传到 PouchDB/CouchDB
Uploading file to PouchDB/CouchDB
我正在使用 Cordova 构建移动应用程序。我将 PouchDB 用于本地存储,因此该应用程序可以在没有互联网的情况下运行。 PouchDB 与 CouchDB 服务器同步,因此您可以随时随地访问您的数据。
现在,我已经到了需要添加将(多个)文件上传到文档的功能的地步。 (文件如 .png .jpg .mp3 .mp4 所有可能的文件类型)。
我没有文件上传的原始代码:
locallp = new PouchDB('hbdblplocal-'+loggedHex);
function addItem() {
//get info
var itemTitle = document.getElementById('itemTitle').value;
var itemDesc = document.getElementById('itemDesc').value;
var itemDate = document.getElementById('itemDate').value;
var itemTime = document.getElementById('itemTime').value;
//get correct database
console.log(loggedHex);
console.log(loggedInUsername);
//add item to database
var additem = {
_id: new Date().toISOString(),
title: itemTitle,
description: itemDesc,
date: itemDate,
time: itemTime
};
locallp.put(additem).then(function (result){
console.log("Added to the database");
location.href = "listfunction.html";
}).catch(function (err){
console.log("someting bad happened!");
console.log(err);
});
}
我将向 JSfiddle 添加一个 link,我会在其中展示我尝试添加文件上传的尝试。我还包括了 html 部分。
link 到 jsfiddle:click here
我注意到控制台中存在关于没有内容类型的错误。
有没有人可以帮助我?
我认为您没有正确设置附件的 content_type
。尝试将 type
更改为 content_type
,如下所示:
var additem = {
_id: new Date().toISOString(),
title: itemTitle,
description: itemDesc,
date: itemDate,
time: itemTime,
_attachments: {
"file": {
content_type: getFile.type,
data: getFile
}
}
};
我正在使用 Cordova 构建移动应用程序。我将 PouchDB 用于本地存储,因此该应用程序可以在没有互联网的情况下运行。 PouchDB 与 CouchDB 服务器同步,因此您可以随时随地访问您的数据。
现在,我已经到了需要添加将(多个)文件上传到文档的功能的地步。 (文件如 .png .jpg .mp3 .mp4 所有可能的文件类型)。
我没有文件上传的原始代码:
locallp = new PouchDB('hbdblplocal-'+loggedHex);
function addItem() {
//get info
var itemTitle = document.getElementById('itemTitle').value;
var itemDesc = document.getElementById('itemDesc').value;
var itemDate = document.getElementById('itemDate').value;
var itemTime = document.getElementById('itemTime').value;
//get correct database
console.log(loggedHex);
console.log(loggedInUsername);
//add item to database
var additem = {
_id: new Date().toISOString(),
title: itemTitle,
description: itemDesc,
date: itemDate,
time: itemTime
};
locallp.put(additem).then(function (result){
console.log("Added to the database");
location.href = "listfunction.html";
}).catch(function (err){
console.log("someting bad happened!");
console.log(err);
});
}
我将向 JSfiddle 添加一个 link,我会在其中展示我尝试添加文件上传的尝试。我还包括了 html 部分。
link 到 jsfiddle:click here
我注意到控制台中存在关于没有内容类型的错误。
有没有人可以帮助我?
我认为您没有正确设置附件的 content_type
。尝试将 type
更改为 content_type
,如下所示:
var additem = {
_id: new Date().toISOString(),
title: itemTitle,
description: itemDesc,
date: itemDate,
time: itemTime,
_attachments: {
"file": {
content_type: getFile.type,
data: getFile
}
}
};