javascript - Problemi s File pluginom u Ionic2
Integriram Quickblox u svoju Ionic2 aplikaciju, za sada sam uspio napraviti sve osim učitavanja datoteke. U Quickbloxu morate učitati datoteku koristeći funkciju koju su oni napravili, a koja prema js dokumentaciji izgleda ovako:
var inputFile = $("input[type=file]")[0].files[0];
var params = {name: inputFile.name,
file: inputFile,
type: inputFile.type,
size: inputFile.size,
public: false};
QB.content.createAndUpload(params, function(err, response){
if (err) {
console.log(err);
} else {
console.log(response);
var uploadedFile = response;
var uploadedFileId = response.id;
}
});
Dakle, preveo sam gornji kod u TypeScript i imam nešto poput ovoga:
uploadFile(filename) {
File.resolveDirectoryUrl(cordova.file.dataDirectory).then(
(dirEntry) => {
File.getFile(dirEntry, filename, { create: false }).then(
(fileEntry) => {
console.log(fileEntry);
fileEntry.file((file) => {
console.log(file);
var params = {
name: file['name'],
file: file,
type: file['type'],
size: file['size'],
'public': false
};
quickblox.content.createAndUpload(params,
(err, response) => {
if (err) {
console.log(err);
} else {
console.log(response);
var uploadedFileId = response.id;
var msg = {
type: 'groupchat',
body: "[attachment]",
extension: {
save_to_history: 1,
}
};
msg["extension"]["attachments"] = [{ id: uploadedFileId, type: 'photo' }];
quickblox.chat.send(this.xmpp_room_jid, msg);
}
});
})
}).catch(
(err) => {
console.log(err);
}
);
}
);
}
Ovaj rad u smislu "dobivam OK odgovore s Quickblox servera", ali kada odem u administratorsku konzolu Quickblox-a da provjerim preneseni sadržaj, otkrijem da slika koju sam prenio ima 0 bajtova. Dakle, nakon što sam neko vrijeme provjeravao kod, usporedio sam sve svoje pozive funkcija s primjerom aplikacije Quickblox, i jedina razlika koju sam mogao pronaći bila je u File objektu.
Ovo je File objekt koji dobivam u svojoj Ionic 2 aplikaciji:
I ovo je ono što dobivam u quickblox js primjeru:
Sve ostale stvari izgledaju identično osim ovog File objekta. Gotovo sam siguran da je ovo problem koji imam, i budući da sam vrlo početnik u ovom području, nisam uspio pronaći način kako pretvoriti moj File objekt u Ionicu u nešto poput File objekta u js primjeru. Unaprijed zahvaljujem na vašem vremenu i pomoći.
UREDI:
Prilažem zapisnike zahtjeva/odgovora iz moje Ionic aplikacije:
Odgovor #1
Možete li, molim vas, poslati kod koji ste koristili za povezivanje na chat, kreiranje sesije, otvaranje video poziva? Dokumentacija na Quickbloxu je vrlo loša i zapelo mi je pri povezivanju na chat.







