javascript - 我可以将带有 GIF 内容的 $.post 函数的结果放入 javascript Image 对象吗?

标签 javascript jquery ajax image download

服务器仅在 POST 请求时返回图像。

我应该预加载图像。

如何将结果放入javascript对象?

$.post('image.php', {params: complexParamsObject}, function(result) {
  var image = new Image();

  // put result to 'image' object
});

最佳答案

如果你想从转换为图片标签的帖子中返回一个 url,那么你可以使用这个

var img = new Image(100,100); // width, height values are optional params 
img.src = result; //or may be result.url depending of what you got in return

如果你想返回图片的内容,你必须返回base64编码的内容。并使用 DataURLs 你可以创建图像元素。这篇文章对此有更多的阐述..

http://www.websiteoptimization.com/speed/tweak/inline-images/

编辑: A 是的,base64 是一种字符串表示形式。实际上,您必须将图像转换为 byte[],然后将其编码为 base64 字符串。然后使用 post 方法返回该字符串... where src="data:image/gif;base64,(这里是base64编码的图片内容)

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7" 
width="16" height="14" alt="embedded folder icon">

另请查看此线程,了解 base64 编码和图像创建。 Convert and insert Base64 data to Canvas in Javascript

关于javascript - 我可以将带有 GIF 内容的 $.post 函数的结果放入 javascript Image 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9029426/

相关文章:

javascript - 使用用户帐户登录 MongoDB

javascript - 更改值属性(如果选择)

javascript - 将 id 解析为 Bootstrap 模式

javascript - 使用 jQuery 追加多个项目

jquery - 为什么我无法使用 GET 向 WebMethod 发送参数?

c# - 带有异步 Ajax 请求的同步 ActionFilter

javascript - 如何为 <li> 元素使用 margin-top ?

javascript - AngularJS - 变量必须作为对象属性放置到被触发的 $watch 中

jquery 样式表切换器 - 如何只影响主题 css?

php - ajax - 检查用户名是否存在+如果存在则返回消息