パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

HTMLのINPUTタグで選択したファイルを送信前に更新・削除した場合の挙動はブラウザ毎に異なる」記事へのコメント

  • IEは場合によってはアリかもしれない。
    ChromeとFirefoxが一番無難で納得できる挙動でしょう。

    • by Anonymous Coward

      自分はあえて評価したくないな
      「そもそもそういう不安定なファイル送ろうとするのやめて。動作保証外です」と言いたくなる

      • by Anonymous Coward
        マルチタスクOSでファイル操作の競合が発生するのは当たり前のことなんだから
        安定した仕様を決めて動作を保証しろよ。
        君はファイルをロックするなどの排他制御をしてもいいし、競合を検出したときに何らかのエラー処理を書いてもいい。
        というかプログラマの仕事なんて過半数がそういう通常は通らない例外処理だろうに。
        #もしくはシングルタスクOSだけでコード書いてください。
        • by Anonymous Coward

          マルチタスクだからこそ他が何するかわからない部分は仕様の決めようがないだろ。「想定外」を無くすなら、先に未来永劫も含めて同じOSで動作するアプリケーションの仕様を知っておく必要があるけど、そんなのできる?
          というか、何でもかんでもロックかけりゃいいってモノでもないし。

          # それとも「ブライト博士の禁止リスト」ならぬ「ブラウザ使用時の禁止リスト」でも作る?

          • by Anonymous Coward on 2019年01月09日 16時09分 (#3545697)

            他が何をするかわからないからこそ「他のプログラムがオープン中は少なくとも書き込み/削除禁止」を通常オープンにして、それ以外の状態でオープンしたいなら個別にオプション指定するだけでも随分ましになるぞ。
            だが現状は「標準オープンは他のプログラムも読み書きOK」で、そこそこ無難そうな「俺が使用中だから他のプログラムは書き込み禁止」ですらオプション扱いだ。

            > 何でもかんでもロックかけりゃいいってモノでもないし。

            必要ならそれなりにモード指定してオープンすればいい。「標準だとロック」は「必ずロック」とはまるで違うぞ。
            OSの既定のファイルオープンモードが「なんでもあり」な理由を合理的に説明してくれよ。

            親コメント
            • by Anonymous Coward

              Windows では排他状態を指定しない時に「他のプログラムがオープン中は少なくとも書き込み/削除禁止」ですよ。
              共有で開くときに明示する必要がありますので、現状の認識がズレてます。
              NTFS ならトランザクションはったうえで、ファイル操作すれば、コミットするまで他のプロセスからは変更前の状態のまま同期できますよ。

              Linux(Unix系)でそうなってないのは、過去の経緯から、いまさら排他をデフォに出来ないってだけでしょう。

              • by Anonymous Coward

                てことは、Windowsのブラウザで「これから送信するファイル」として選択した後も変更可能なのは意図的にそうしているってことだね。

              • by Anonymous Coward

                てことは、Windowsのブラウザで「これから送信するファイル」として選択した後も変更可能なのは意図的にそうしているってことだね。

                意図的というより「これから送信するファイル」は「送信中のファイル」ではないからでしょ。

                土台、「ファイルを選択したタイミング」「送信ボタンを押したタイミング」のどちらが送信されることをユーザーが望んでいるか、正しく認識するなんてことがコンピューターにできるわけないので、どちらに設定したってユーザーの認識との乖離は発生しうるし。

              • by Anonymous Coward

                意図的にやってるというか、選択したときはファイル名だけ保持して、実際に送信する段階でファイル開いてるってだけだろう。

              • by Anonymous Coward

                そりゃわかってるよ。
                変更されたくなければ簡単にできるのにあえてやってないってこと。

              • by Anonymous Coward

                そりゃわかってるよ。
                変更されたくなければ簡単にできるのにあえてやってないってこと。

                ・システム的に変更できないと困る(たとえばログファイルをWebにアップロードしてる間、握り続けられたらログ出力するのに困る。かといってログを書き出す側が握り続けるのも本末転倒)
                ・他アプリで既に開かれているファイルを送りたいだけなのに、ブラウザが握ろうとして落ちるため送信できない

                みたいなタコい事態を防ぐためだろ。

                何でもかんでもロックかけて解決って考え方こそマルチタスクには不向きだよ、ロックの弊害を回避する設計がされてないアプリを使うだけでシングルタスクしかできなくなるんだから。

              • by Anonymous Coward

                だからそういうのがあるから「あえてやってない」と言ってるわけなんだけど…

人生unstable -- あるハッカー

処理中...