Skip to content

Commit

Permalink
fix: ダウンロードするファイルパスに制御文字が含まれていた場合は取り除く (#399)
Browse files Browse the repository at this point in the history
制御文字を含んだタイトルの投稿をダウンロードしようとしたときにエラーにな
っていたようなので修正

#398
  • Loading branch information
mnao305 authored May 5, 2023
1 parent c8c9a90 commit 4f8225e
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/background/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import { browser, Downloads } from 'webextension-polyfill-ts'

/**
* 与えられた文字列からunicode制御文字を取り除く
*/
const removeControlCharacters = (str: string) => {
// eslint-disable-next-line no-control-regex
return str.replaceAll(/[\u0000-\u001F\u007F-\u009F\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g, '')
}

// 拡張機能インストール時にコンテキストメニューを設定する
browser.runtime.onInstalled.addListener(() => {
browser.contextMenus.create({
Expand All @@ -20,8 +28,8 @@ browser.contextMenus.onClicked.addListener((info, tab) => {

export const download = (url: string, filename: string, filepath: string): void => {
const options: Downloads.DownloadOptionsType = {
url: url,
filename: `fantia/${filepath}/${filename}`,
url,
filename: `fantia/${removeControlCharacters(filepath)}/${removeControlCharacters(filename)}`,
saveAs: false,
conflictAction: 'overwrite'
}
Expand Down

0 comments on commit 4f8225e

Please sign in to comment.