首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从http url选择本地映像并在不需要服务器往返的情况下为该映像提供服务

从http url选择本地映像并在不需要服务器往返的情况下为该映像提供服务
EN

Stack Overflow用户
提问于 2010-06-06 18:02:26
回答 2查看 403关注 0票数 0

我是一个全新的Flash新手(从来没有在闪存中创建任何东西)。我非常熟悉web应用程序(基于J2EE),并且在Javascript方面拥有合理的专业知识。

这是我的要求。

我希望用户选择一个图像(通过html表单)。通常,在post中,此映像将被发送到服务器,并可能存储在那里,以便稍后处理。我不想那样。我想在本地存储这个映像,然后通过HTTP将它提供给用户。

因此,流程是: 1.转到"select图像url":mywebsite.com/selectImage

浏览图像并选择图像

这将在本地将控制转移到客户端上运行的代码(Javascript或flash),然后将图像本地存储在客户端机器上的某个位置。

  1. 转到“showImage”:mywebsite.com/showImage

这最终将导致某些客户端代码在检索图像并呈现它的浏览器上运行(不需要任何服务器往返)。

我考虑了以下几种选择:

  1. 使用HTML5本地存储。因为我是个新手,所以我调查了这件事。我发现在javascript中存储和检索图像非常简单(只允许使用字符串,但我希望存储base64编码的字符串至少可以用于小型图像)。但是,如何通过http url (指向我的服务器而不需要服务器往返)提供图像呢?我在http://hacks.mozilla.org/category/fileapi/上看到了这篇有趣的文章,但这只适用于火狐,我需要在所有最新的浏览器(至少是支持HTML5本地存储的浏览器)上工作。
  2. 使用闪存SharedObjects。好吧,这会很好的-唯一的事情是我不知道从哪里开始。这样做的动作脚本片段到处都是,但我不知道如何在实际的html页面中使用这些脚本:)我不需要创建任何电影或任何东西-只需要存储一个图像并在本地提供它。如果我走这条路,我也会使用它在本地存储其他“字符串”。如果您建议这样做,请给我具体的步骤(可能是指向其他网站的指针)如何做到这一点。我想避免为任何闪存开发环境软件付费,理想的情况是:)

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2010-06-06 18:18:55

您可以使用数据URI来显示文件。本质上,您可以使用图像数据(加上前缀)作为图像元素的src属性。如果您已经知道如何将文件作为base64编码的字符串读入内存,那么使用数据URI可能是显示图像的最简单方法。

票数 0
EN

Stack Overflow用户

发布于 2010-06-13 01:28:48

好的,我实现了以下解决方案(以防有人有任何评论或想知道答案)

  1. 编写服务器端代码,获取图像并返回其基64编码版本。
  2. 使用隐藏的iframe技巧将基64编码的数据转换为iframe,并通过将图像源动态更改为数据uri将其存储到图像中。

关于“隐藏的iframe技巧”-如果您感兴趣,有一篇很好的文章(请参阅www.openjs.com/articles/ajax/ajax_file_upload/response_data.php) )。

唯一的限制是IE不能处理基础64编码字符串超过32K的图像-请参阅http://msdn.microsoft.com/en-us/ie/dd578309.aspx。请注意,只有IE8工作-IE7不支持数据uri我相信。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2985254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档