Skip to content

Commit b7c1893

Browse files
Merge pull request #381 from schlagmichdoch/fix-filename-wo-suffix
WIP:Fix chromium file extension if mime type is not set
2 parents 341fa7f + 547038c commit b7c1893

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

public/scripts/network.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,7 +1082,7 @@ class PeersManager {
10821082
}
10831083

10841084
async _onFilesSelected(message) {
1085-
let files = mime.addMissingMimeTypesToFiles(message.files);
1085+
let files = mime.addMissingMimeTypesToFiles([...message.files]);
10861086
await this.peers[message.to].requestFileTransfer(files);
10871087
}
10881088

@@ -1306,9 +1306,8 @@ class FileDigester {
13061306
const blob = new Blob(this._buffer)
13071307
this._buffer = null;
13081308
this._callback(new File([blob], this._name, {
1309-
type: this._mime,
1309+
type: this._mime || "application/octet-stream",
13101310
lastModified: new Date().getTime()
13111311
}));
13121312
}
1313-
13141313
}

public/scripts/ui.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -873,7 +873,9 @@ class ReceiveDialog extends Dialog {
873873

874874
const fileName = files[0].name;
875875
const fileNameSplit = fileName.split('.');
876-
const fileExtension = '.' + fileNameSplit[fileNameSplit.length - 1];
876+
const fileExtension = fileNameSplit.length > 1
877+
? '.' + fileNameSplit[fileNameSplit.length - 1]
878+
: '';
877879
this.$fileStem.innerText = fileName.substring(0, fileName.length - fileExtension.length);
878880
this.$fileExtension.innerText = fileExtension;
879881
this.$fileSize.innerText = this._formatFileSize(totalSize);

public/scripts/util.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,8 @@ const mime = (() => {
392392
"vob": "video/x-ms-vob",
393393
"wmv": "video/x-ms-wmv",
394394
"avi": "video/x-msvideo",
395-
"*": "video/x-sgi-movie"
395+
"*": "video/x-sgi-movie",
396+
"kdbx": "application/x-keepass2"
396397
}
397398

398399
return {
@@ -409,7 +410,7 @@ const mime = (() => {
409410
// if filetype is empty guess via suffix otherwise leave unchanged
410411
for (let i = 0; i < files.length; i++) {
411412
if (!files[i].type) {
412-
files[i] = new File([files[i]], files[i].name, {type: mime.guessMimeByFilename(files[i].name) || ""});
413+
files[i] = new File([files[i]], files[i].name, {type: mime.guessMimeByFilename(files[i].name) || "application/octet-stream"});
413414
}
414415
}
415416
return files;

0 commit comments

Comments
 (0)