mirror of
https://github.com/darkwire/darkwire.io.git
synced 2025-07-24 05:00:17 +00:00
Sending file test, currently working for images only
This commit is contained in:
parent
e75f48ef88
commit
c1b902a5bf
@ -216,7 +216,8 @@ export default class Darkwire {
|
||||
if (bool) {
|
||||
resolve({
|
||||
username: username,
|
||||
message: decryptedMessage
|
||||
message: decryptedMessage,
|
||||
messageType: data.messageType
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -1,6 +1,6 @@
|
||||
export default class FileHandler {
|
||||
constructor(darkwire, socket) {
|
||||
if (window.File && window.FileReader && window.FileList && window.Blob && window.btoa) {
|
||||
if (window.File && window.FileReader && window.FileList && window.Blob && window.btoa && window.atob) {
|
||||
this._isSupported = true;
|
||||
this.darkwire = darkwire;
|
||||
this.socket = socket;
|
||||
@ -47,6 +47,10 @@ export default class FileHandler {
|
||||
return false;
|
||||
}
|
||||
|
||||
decodeFile(base64) {
|
||||
return window.atob(base64);
|
||||
}
|
||||
|
||||
listen() {
|
||||
// browser API
|
||||
document.getElementById('fileInput').addEventListener('change', jQuery.proxy(this.encodeFile, this), false);
|
||||
|
@ -120,10 +120,19 @@ $(function() {
|
||||
let $usernameDiv = $('<span class="username"/>')
|
||||
.text(data.username)
|
||||
.css('color', getUsernameColor(data.username));
|
||||
let $messageBodyDiv = $('<span class="messageBody">')
|
||||
.html(data.message);
|
||||
let $messageBodyDiv = $('<span class="messageBody">');
|
||||
|
||||
if (options.file) {
|
||||
let image = new Image();
|
||||
image.src = `data:image/png;base64,${data.message}`;
|
||||
$messageBodyDiv.html(image);
|
||||
} else {
|
||||
$messageBodyDiv.html(data.message);
|
||||
}
|
||||
|
||||
let typingClass = data.typing ? 'typing' : '';
|
||||
|
||||
|
||||
let $messageDiv = $('<li class="message"/>')
|
||||
.data('username', data.username)
|
||||
.addClass(typingClass)
|
||||
@ -293,7 +302,16 @@ $(function() {
|
||||
windowHandler.notifyFavicon();
|
||||
darkwire.audio.play();
|
||||
}
|
||||
addChatMessage(data);
|
||||
if (data.messageType === 'file') {
|
||||
// let file = windowHandler.fileHandler.decodeFile(data.message);
|
||||
// let chatMessage = {
|
||||
// username: data.username,
|
||||
// message: file
|
||||
// }
|
||||
addChatMessage(data, {file: true})
|
||||
} else {
|
||||
addChatMessage(data);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user