usausa000
@usausa000

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

添付ファイルの重複や消失について教えてください

Q&A

解決したいこと

JAVAで、文書を作成するシステムを使っています。

文書を作成、PDF等を添付して登録するという流れになっていますが、
どこかの操作で、添付ファイルが重複して表示されたり消えることがあると問い合わせを受けました。重複の件は、写真が添付されていたので、それを元に調査をしていますが、原因がわかりません。

開発環境はjava Apache tomcat postgresです。
利用環境はedgeです。

発生している問題・エラー

1つしかつけていない添付ファイルが同名で2つ添付されていることがあったり
添付したはずのファイルが消えることがあるとのこと

自分で試したこと

ユーザーが重複して添付してないかどうかログを見ましたがそのような操作履歴はありませんでした。
また、Apacheログなどにも不具合はありません。
データベースでは、申告通りの1つの添付ファイルしか登録されておりません。

また、ユーザー申告ではたびたびある不具合とのことですが
再現できませんでした。

DBに重複登録がない以上、表示だけの問題の可能性もありますが、
どのように調べたらいいかわかりません。

同じような現象を体験した方いますでしょうか?

0

1Answer

添付ファイルをどのように扱うかはその文書作成システム固有の事情であり、 Java に何か一般的な添付ファイル処理ライブラリがあるわけではありません。システムが分からなければ回答はできないと思います。

現象から分かることだけ言いますと、 DB に重複登録がないのであればまず間違いなく表示だけの問題でしょう。すぐに思いつく可能性としては

  • システムからブラウザに返すレスポンス内で添付ファイルを表すデータが重複あるいは欠落している
  • (ブラウザ上で JavaScript がシステムからのデータを受け取って表示している場合) JavaScript の処理で添付ファイルの表示を間違えている

が考えられます。レスポンスに正しいデータが含まれているかログを出すところから始めてはいかがでしょうか。

0Like

Comments

  1. また発生状況を詳しく聞き取ると原因の絞り込みにつながります。

    • 添付直後に問題が起き、リロードすると解決する→添付直後だけ実行される処理が怪しい
    • リロードするたびに問題が起きたり直ったりする→非同期処理などタイミングの前後関係がランダムに変わる処理が怪しい
    • 特定のファイルで必ず問題が起きる→特定のファイル名やファイルのメタデータの扱いにバグがありそう
  2. キャッシュしていることはないでしょうか?
    proxyの定義、httpの指定、htmlの指定

    また、javascriptファイル取り込みは非同期になりますが、その後のサーバ転送がawait fetchされていない。
    非推奨ですが、私はあえて同期メソッドを利用してます。open('POST',url,false)

    java側で画像ファイルを一旦、ローカルファイルに書き込んでいる。そのファイル名がセッション単位で異なる。または、トランザクション単位で同一でない。

    img タグのidがセッション毎異なる。トランザクション単位で同一でない。 

    トランザクションとはdbのではなく、ユーザの目的処理が完了するまでの一連の処理単位

Your answer might help someone💌