mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-25 09:16:18 -04:00
Fix wrong file name with navigator.share
This commit is contained in:
parent
1d5f2e8023
commit
490bad5734
2 changed files with 15 additions and 11 deletions
|
@ -723,7 +723,7 @@ class Peer {
|
|||
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
header.push({
|
||||
displayName: files[i].name,
|
||||
name: files[i].name,
|
||||
mime: files[i].type,
|
||||
size: files[i].size
|
||||
});
|
||||
|
@ -806,7 +806,7 @@ class Peer {
|
|||
this._sendMessage({
|
||||
type: 'transfer-header',
|
||||
size: file.size,
|
||||
displayName: file.name,
|
||||
name: file.name,
|
||||
mime: file.type
|
||||
});
|
||||
}
|
||||
|
@ -970,7 +970,7 @@ class Peer {
|
|||
? new FileDigesterViaWorker(
|
||||
{
|
||||
size: header.size,
|
||||
name: header.displayName,
|
||||
name: header.name,
|
||||
mime: header.mime
|
||||
},
|
||||
file => this._fileReceived(file),
|
||||
|
@ -979,7 +979,7 @@ class Peer {
|
|||
: new FileDigesterViaBuffer(
|
||||
{
|
||||
size: header.size,
|
||||
name: header.displayName,
|
||||
name: header.name,
|
||||
mime: header.mime
|
||||
},
|
||||
file => this._fileReceived(file),
|
||||
|
@ -1054,7 +1054,7 @@ class Peer {
|
|||
|
||||
const sameSize = header.size === acceptedHeader.size;
|
||||
const sameType = header.mime === acceptedHeader.mime;
|
||||
const sameName = header.displayName === acceptedHeader.displayName;
|
||||
const sameName = header.name === acceptedHeader.name;
|
||||
|
||||
return sameSize && sameType && sameName;
|
||||
}
|
||||
|
@ -1074,7 +1074,7 @@ class Peer {
|
|||
Logger.log(`File received.\n\nSize: ${size} MB\tDuration: ${duration} s\tSpeed: ${speed} MB/s`);
|
||||
|
||||
// include for compatibility with 'Snapdrop & PairDrop for Android' app
|
||||
Events.fire('file-received', {name: file.displayName, size: file.size});
|
||||
Events.fire('file-received', {name: file.originalName, size: file.size});
|
||||
|
||||
this._filesReceived.push(file);
|
||||
|
||||
|
@ -2090,7 +2090,6 @@ class FileDigesterViaBuffer extends FileDigester {
|
|||
lastModified: new Date().getTime()
|
||||
}
|
||||
);
|
||||
file.displayName = this._name
|
||||
|
||||
this._fileCompleteCallback(file);
|
||||
}
|
||||
|
@ -2129,7 +2128,7 @@ class FileDigesterViaWorker extends FileDigester {
|
|||
.then(file => {
|
||||
// Save id and displayName to file to be able to truncate file later
|
||||
file.id = file.name;
|
||||
file.displayName = this._name;
|
||||
file.originalName = this._name;
|
||||
|
||||
this._fileCompleteCallback(file);
|
||||
})
|
||||
|
|
|
@ -1060,7 +1060,7 @@ class ReceiveDialog extends Dialog {
|
|||
: Localization.getTranslation("dialogs.file-other-description-file-plural", null, {count: files.length - 1});
|
||||
}
|
||||
|
||||
const fileName = files[0].displayName;
|
||||
const fileName = files[0].originalName ?? files[0].name;
|
||||
const fileNameSplit = fileName.split('.');
|
||||
const fileExtension = '.' + fileNameSplit[fileNameSplit.length - 1];
|
||||
const fileStem = fileName.substring(0, fileName.length - fileExtension.length);
|
||||
|
@ -1236,8 +1236,13 @@ class ReceiveFileDialog extends ReceiveDialog {
|
|||
}
|
||||
|
||||
async _setShareButton() {
|
||||
// Add original file names
|
||||
let filesWithOriginalNames = []
|
||||
for (const file of this._data.files) {
|
||||
filesWithOriginalNames.push(new File([file], file.originalName, {type: file.type}))
|
||||
}
|
||||
this.$shareBtn.onclick = _ => {
|
||||
navigator.share({files: this._data.files})
|
||||
navigator.share({files: filesWithOriginalNames})
|
||||
.catch(async err => {
|
||||
Logger.error(err);
|
||||
|
||||
|
@ -1355,7 +1360,7 @@ class ReceiveFileDialog extends ReceiveDialog {
|
|||
_downloadFiles(files) {
|
||||
let tmpBtn = document.createElement("a");
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
tmpBtn.download = files[i].displayName;
|
||||
tmpBtn.download = files[i].originalName;
|
||||
tmpBtn.href = URL.createObjectURL(files[i]);
|
||||
tmpBtn.click();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue