Skip to content

Commit

Permalink
fix: Fix a file name encoding issue
Browse files Browse the repository at this point in the history
resolve #8
  • Loading branch information
RossWang committed Dec 20, 2018
1 parent 7ad7018 commit 989912b
Show file tree
Hide file tree
Showing 4 changed files with 1,194 additions and 2 deletions.
3 changes: 2 additions & 1 deletion App/data/DownloadPanel/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -334,9 +334,10 @@
<textarea class="gwd-input-oy8k gwd-input-15ah head"></textarea>
</div>
</div>
</div>
</div>
<script src="/config.js"></script>
<script src="/lib/tools.js"></script>
<script src="/lib/jschardet.min.js"></script>
<script src="index.js"></script>


Expand Down
16 changes: 15 additions & 1 deletion App/data/DownloadPanel/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ function handleResponse(message) {
case "all":
document.getElementById('url').value = message.url;
document.getElementById('fs').textContent = message.fileSize;
document.getElementById('fn').value = message.fileName;
document.getElementById('fn').value = decodeFn(message.fileName);
document.querySelector(".head").value = message.header;
document.getElementById('db').focus();
break;
Expand Down Expand Up @@ -184,4 +184,18 @@ function adv() {
}
}

function decodeFn(fn) {
var res = jschardet.detect(fn).encoding;
var decoder = new TextDecoder(res);
var charcode = [];
for(var i = 0, length = fn.length; i < length; i++) {
var code = fn.charCodeAt(i);
charcode.push(code);
}
var charcodeUint = new Uint8Array();
charcodeUint = Uint8Array.from(charcode);
var out = decoder.decode(charcodeUint);
return out;
}

document.addEventListener('DOMContentLoaded', init);
Loading

0 comments on commit 989912b

Please sign in to comment.