mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-25 17:26:18 -04:00
Fix share mode by converting FileList to Array
This commit is contained in:
parent
ec520248b8
commit
351e7d42c9
3 changed files with 17 additions and 11 deletions
|
@ -1082,7 +1082,7 @@ class PeersManager {
|
|||
}
|
||||
|
||||
async _onFilesSelected(message) {
|
||||
let files = await mime.addMissingMimeTypesToFiles(message.files);
|
||||
let files = mime.addMissingMimeTypesToFiles(message.files);
|
||||
await this.peers[message.to].requestFileTransfer(files);
|
||||
}
|
||||
|
||||
|
|
|
@ -179,10 +179,13 @@ class PeersUI {
|
|||
|
||||
this._onDragEnd();
|
||||
|
||||
if ($$('x-peer') || !$$('x-peer').contains(e.target)) return; // dropped on peer
|
||||
if ($$('x-peer') && $$('x-peer').contains(e.target)) return; // dropped on peer
|
||||
|
||||
const files = e.dataTransfer.files;
|
||||
const text = e.dataTransfer.getData("text");
|
||||
let files = e.dataTransfer.files;
|
||||
let text = e.dataTransfer.getData("text");
|
||||
|
||||
// convert FileList to Array
|
||||
files = [...files];
|
||||
|
||||
if (files.length > 0) {
|
||||
Events.fire('activate-share-mode', {
|
||||
|
@ -215,8 +218,11 @@ class PeersUI {
|
|||
if (this.shareMode.active || Dialog.anyDialogShown()) return;
|
||||
|
||||
e.preventDefault()
|
||||
const files = e.clipboardData.files;
|
||||
const text = e.clipboardData.getData("Text");
|
||||
let files = e.clipboardData.files;
|
||||
let text = e.clipboardData.getData("Text");
|
||||
|
||||
// convert FileList to Array
|
||||
files = [...files];
|
||||
|
||||
if (files.length > 0) {
|
||||
Events.fire('activate-share-mode', {files: files});
|
||||
|
|
|
@ -396,20 +396,20 @@ const mime = (() => {
|
|||
}
|
||||
|
||||
return {
|
||||
async guessMimeByFilename(filename) {
|
||||
guessMimeByFilename(filename) {
|
||||
const split = filename.split('.');
|
||||
if (split.length === 1) {
|
||||
// Filename does not include suffix
|
||||
return "";
|
||||
return false;
|
||||
}
|
||||
const suffix = split[split.length - 1].toLowerCase();
|
||||
return suffixToMimeMap[suffix] || "";
|
||||
return suffixToMimeMap[suffix];
|
||||
},
|
||||
async addMissingMimeTypesToFiles(files) {
|
||||
addMissingMimeTypesToFiles(files) {
|
||||
// if filetype is empty guess via suffix otherwise leave unchanged
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
if (!files[i].type) {
|
||||
files[i] = new File([files[i]], files[i].name, {type: await mime.guessMimeByFilename(files[i].name) || ""});
|
||||
files[i] = new File([files[i]], files[i].name, {type: mime.guessMimeByFilename(files[i].name) || ""});
|
||||
}
|
||||
}
|
||||
return files;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue