显示上传的图片
Displaying uploaded image
本文关键字:显示 更新时间:2023-09-26
我正在尝试使用Ajax上传/调整图像大小,然后在浏览器中显示它,而不是将其保存到文件中。我希望有一个图像,但我得到了一堆乱码。
可行吗?或者我不能,需要采取其他措施,如保存到文件,然后采取它的路径?或者使用帆布?
感谢您的宝贵时间。
HTML<form enctype="multipart/form-data" action="file.php" method="Post" id="form">
<input type="file" name="user_image">
<input type="submit" value="Submit" name="submit">
</form>
<div id="blah"></div>
Javascript //using jquery-form.js
$('#form').on('submit', function(e) {
e.preventDefault();
$(this).ajaxSubmit({
target: '#blah',
success: function(){}
});
});
PHP $img_width = imagesx($this->image);
$img_height = imagesy($this->image);
$image = imagecreatefromjpeg($_FILE['user_image']['tmp_name']);
$resized_image = imagecreatetruecolor(300, 300);
imagecopyresampled($resized_image, $image, 0, 0, 0, 0, 300, 300, $img_width, $img_height);
header('Content-Type:image/jpeg');
imagejpeg($resized_image);
在PHP中执行以下操作
ob_start();
// header("Content-type: image/jpeg"); // fairly sure you won't need this
imagejpeg($resized_image);
echo base64_encode(ob_get_clean());
die;
假设在HTML中有
<img id="theimage" />
then in JS
success: function(data){
$('#theimage').attr('src', 'data:image/jpeg;base64,' + data);
}
您正在尝试使用ajax获取原始jpeg数据。您不应该执行ajax上传,而是直接发送表单以查看调整后的图像。如果这不是您想要的,那么您需要将原始jpeg数据编码为base64编码的数据url,并将其插入<img>
元素的src
属性。
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 高亮显示时编辑文本大小和颜色
- 有时数据是't显示在浏览器中
- 当鼠标悬停在文本中的单词上时显示警报
- 角度图表;t显示在我的页面中
- 在jquery中为显示/隐藏设置cookie