-1

このアプローチを使用して、画像を Web ディレクトリに保存し、URL をデータベースに保存することで、画像の URL をデータベースに保存しました。そのイメージ ID に基づいています (このイメージ ID を Ajax 呼び出しからコントローラーに渡す必要があります)。画像を取得する必要があります。

jQuery テンプレートを使用して画像 ID を取得したので、その画像 ID をコントローラーに渡しました。コントローラ、filepathresult、fileresult には何を記述すればよいですか? それとも別のアプローチがありますか?

4

2 に答える 2

0

物理ファイルを含むリソース(別名、URLに移動)を要求すると、 IISはそのリソースを直接提供します(つまり、IISを要求した場合は、リソースを直接www.mysite.com/Images/Image3.jpg提供します)。私はあなたが何をしているのか正確にはわかりませんが、画像のIDを持つMVCコントローラーへのAjax呼び出しを使用して画像に関連付けられたURLを取得することを意味する場合は、いくつかのことができます。

  1. URLを返し、JavaScriptコードを使用して、そのURLで画像タグを作成し、それをDOMに挿入するだけです。
  2. <img src = "{yoururl}" />のようなビューを返し、JavaScriptを使用してDOMに挿入することができます。
  3. 画像をデータベースに直接保存し、Fileメソッドを使用して、正しいMIMEタイプを示す画像ビットを返すことができます。
于 2012-11-02T16:34:29.327 に答える
0

OK、あなたは少し混乱しています。

実際の画像ファイルがfile.jpgあり、ファイルへの物理パスがありますD:\some\path\to\file.jpg.

ファイルへのURLパスと代理 ID (自分の ID) があります。

  • id: 1337 (乱数)
  • URL:????

最初の質問:

URLを保存しているとあなたは言います。それは本当に完全な URL ですか? 画像への部分的なパスですか?Web サイトのルートまたはアプリケーションのルートからのパスですか? それは単なる部分的な物理パスですか?

2 番目の質問:

あなたは実際に何をしようとしていますか?

画像へのフルパスを取得したいだけですか?すでに ID を持っているのに、なぜこれを行うために Ajax が必要なのですか? これから何らかのパフォーマンスが必要な場合は、画像の保存方法を再考することをお勧めします。

画像が新しいアイデンティティを取得すると、多くの場合、その新しいアイデンティティをあらゆる場所で使用することが理にかなっています。ファイルをアップロードした後、新しい ID 用にファイルをコピー/名前変更することを検討する必要があります (場合によっては、記録保持のために古いファイル名を保存します)。ただし、ファイル名を (多かれ少なかれ) そのままにしておく必要がある場合は、ID ごとに Ajax リクエストを個別に行うよりも、ID のセット全体の URL を取得できる機能を提供する方がよいでしょう。 ID。

于 2012-11-02T16:03:33.047 に答える