LoginSignup
1
0

More than 1 year has passed since last update.

ファイル名に制御文字が入ったファイルをS3にアップロードされて起きたエラー

Posted at

起きたこと

S3に保存されている画像一覧を表示するページを開こうとした際に、下記のエラーが発生しました。

xmlParseCharRef: invalid xmlChar value 16

原因

直前にS3にアップロードされた画像名に制御文字が入力されていました。
↓こんな感じです。
Image from Gyazo

検証ツールで見るとこんな感じ。
tokushuの前後に明らかに変な文字が入ってる笑
Image from Gyazo

アップロード前のローカルで見るとこんな感じ。
ローカルだと全く変じゃないのに、S3にアップロードしてみると判明しました。
ローカルはトリミングされてるのかな?
Image from Gyazo

対処

まず、S3コンソールから該当ファイルを直接削除しようとしましたが削除できませんでした。
おそらくS3コンソール側も制御文字を認識しておらずに削除できなかったのかな?

オブジェクトの名前変更はできたので、S3コンソール上で制御文字を削除した名前に変更して対処しました。
Image from Gyazo

恒久対応としては、S3アップロード時に制御文字をトリミングしてあげるといった下記記事のようなことが必要になりそうです。(そこまでやってないけど)
https://codenote.net/tool/4521.html

参考になりました🤗

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0