-1

使用这种方法将图像保存在 Web 目录中并将 URL 存储在数据库中,我将图像 URL 存储在数据库中。基于该图像 ID(我需要通过 Ajax 调用将此图像 ID 传递给控制器​​)​​。我需要检索图像。

我使用 jQuery 模板获得了图像 ID,因此我已将该图像 ID 传递给控制器​​。我应该在控制器、filepathresult 或 fileresult 中写什么?还是有其他方法?

4

2 回答 2

0

如果您请求具有物理文件的资源(AKA 导航到URL),IIS将直接提供它(也就是说,如果您请求www.mysite.com/Images/Image3.jpgIIS 将直接提供它)。我真的不明白你在做什么,但如果你的意思是你使用 Ajax 调用具有图像 ID 的 MVC 控制器来获取图像的关联 URL,你可以做几件事。

  1. 您可以简单地返回 URL 并使用 JavaScript 代码创建带有该 URL 的图像标记并将其插入DOM中。
  2. 您可以返回像 <img src="{yoururl}" /> 这样的视图,并使用 JavaScript 将其插入 DOM。
  3. 您可以将图像直接存储在数据库中,并使用 File 方法返回指示正确MIME类型的图像位。
于 2012-11-02T16:34:29.327 回答
0

好吧,你有点糊涂了。

你有实际的图像文件,file.jpg你有文件的物理路径,D:\some\path\to\file.jpg.

您拥有文件的URL路径和代理身份(您的 id)。

  • id:1337(一些随机数)
  • 网址:???

第一个问题:

你说你正在存储 URL。真的是完整的网址吗?它只是图像的部分路径吗?路径是来自网站根目录还是应用程序根目录?它只是部分物理路径吗?

第二个问题:

你到底想做什么?

您只想获取图像的完整路径吗?如果您已经拥有 id,为什么还需要 Ajax 来执行此操作?如果需要从中获得任何性能,您可能需要重新考虑如何存储图像。

一旦图像获得了新的身份,在任何地方都使用这个新身份通常是有意义的。您可能应该考虑在文件上传后复制/重命名新身份的文件(并可能保存旧文件名以保存记录)。但是,如果您需要保持文件名(或多或少)原样,最好提供获取整组 id 的 URL 的能力,而不是单独发出 Ajax 请求 id-by- ID。

于 2012-11-02T16:03:33.047 回答