web-dev-qa-db-ja.com

従来のファイルのアップロードとリポジトリ

私は b2b ユーザーがいくつかの目的でファイルをアップロードする可能性のあるWebアプリケーションに取り組んでいます:製品やビジネスへの仕様を含む画像やドキュメントの割り当て、プライベートメッセージへのファイルの添付( [〜#〜] pdf [〜#〜] s、 [〜#〜] doc [〜#〜] s、 [〜#〜] xls [〜# 〜] s)など.

ここで、各フォームでファイルをアップロードする従来の方法を許可する代わりに、ユーザーが必要なファイルをアップロードできるリポジトリを用意し、リポジトリを特定の最大サイズに制限した方がよいかどうか疑問に思っています(ユーザーがプレミアムアカウントを所有しているかどうかを確認し、各フォームから必要なファイルをリンクできるようにします。

したがって、たとえば、Send private messageフォーム、典型的なchoose file入力を表示する代わりに、ユーザーのリポジトリを表示して、添付したいファイルを選択するか、その瞬間に新しいファイルを追加してそれを選択することさえします。

これは良いアプローチですか?

私がこれまでに検出した唯一の欠点は、ブラウザーで JavaScript が無効になっているユーザーが手動でファイルのIDを指定する必要があることです。

4
federico-t

一元化されたリポジトリを使用することの潜在的な利点は、顧客が同じファイルを何度も再利用する場合、毎回サーバーにアップロードする必要がないことです。

欠点はもっと豊富です:

  • 単一のアクション(アップロードするファイルを選択)の代わりに、ユーザーは2つのアクションを実行する必要があります(リポジトリにファイルをアップロード+リポジトリからファイルを選択)。
  • ファイルの数が多くなると、階層構造を追加して整理する必要があります。たとえば、フォルダーを作成します。フォルダーは本質的に悪いわけではありませんが、ファイルの検索と選択にかかる時間が長くなります。
  • ファイルのアップロードにはかなりの精神的な労力が必要になる可能性があります(このファイルをどのフォルダーに配置しますか?別のフォルダーを作成する必要がありますか?男、私のリポジトリはめちゃくちゃです...ときどき整理する必要があります...)
  • ユーザーが以前にメッセージと共に送信したファイルを削除/名前変更した場合はどうしますか?メッセージの受信者は、元のファイルにアクセスしたい場合があります。
  • ユーザーは、ファイルをどこかに保存することに関してセキュリティ上の懸念を抱く可能性があります。
2
Pasha

誰かが特定のファイルを何度も送信する必要がある可能性がある場合リポジトリを使用するのが最善です。それが一般的な使用例ではない可能性がある場合は、単純なファイルのアップロードをお勧めします。

これは特にBnBの場合で、インターネット接続が悪いの田舎ではしばしば邪魔になります。送信するたびにファイルをアップロードする必要がある場合(そして各ファイルを長時間待つ可能性がある場合)、高解像度の画像の送信を回避したり、送信する画像の数を減らしたりする傾向があります。これはあなたが起こりたいことではないでしょう。

(あなたのcaesで)私の提案はリポジトリを使用することですが、あなた自身のものではありません。むしろ、人々の既存のDropboxまたはGoogleドライブをリポジトリとして使用し、それらのAPIを使用してそれらに接続するだけです。これはユーザーにとってより簡単で、開発が速く、メンテナンスの問題が少なくなります。

2
JohnGB

ユーザーが同じファイルを頻繁に送信する場合、これは良い考えかもしれません。しかし、私は間違いなくメッセージ自体に「ファイルのアップロード」も付けます。 Marjanが言ったように、ファイルが以前にアップロードされていない場合-ユーザーはメッセージをキャンセルし、アップロードページを見つけてアップロードし、戻ってメッセージを書き直す必要があります...

メッセージ内のアップロードファイルにより、ファイルがリポジトリに配置されるため、次回メッセージが送信されたときに、再度アップロードする代わりに、そのファイルを選択できます。

1
Henrik Ekblom