2017-02-16 5 views
1

Я создаю мобильное приложение с Cordova. Я использую PouchDB для локального хранилища, поэтому приложение работает без Интернета. PouchDB синхронизируется с сервером CouchDB, чтобы вы могли получить доступ к своим данным.Скачивание файла на 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, где я показываю мою попытку добавить загрузку файла. Я также включил часть html.

ссылка jsfiddle: click here

Я заметил ошибку в консоли о не будучи типа содержимого.

Есть ли кто-нибудь, кто может мне помочь?

+0

Добавление ** точного сообщения об ошибке ** облегчит вам помощь;) – Phonolog

+0

Ошибка: «Файл прикрепленного файла (id) отсутствует content_type – thomagron

ответ

1

Я думаю, что вы не устанавливаете 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 
     } 
    } 
    }; 

Также смотрите docs for working with attachments.

+1

ah Я вижу! Уверен, что у меня было это раньше. , Спасибо – thomagron

Смежные вопросы