jQuery - 如何从输入文件 img 制作缩略图
jQuery - how to make a thumbnail from the input file img
我想用html制作一个花哨的图像上传系统。当用户将图像选择到输入文件中时,将显示图像的缩略图。正如我所读到的,由于安全问题,无法从输入文件中获取图像的路径。有人可以告诉我如何使用javascript(使用jQuery)做到这一点吗?谢谢!
我可能有一个技巧:
尝试:
<!DOCTYPE html>
<html>
<head>
<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
<script type="text/javascript">
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah')
.attr('src', e.target.result)
.width(100)
.height(100);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<input type='file' onchange="readURL(this);" />
<img id="blah" src="#" alt="your image" />
</body>
</html>
在文件上传到服务器之前,您无法访问文件内容,除非您使用的是在这方面具有一些花哨功能的 Chrome。
您可以做的是上传文件,然后使用 PHP 获取作为缩略图生成的文件,我认为这不是您正在寻找的答案。所以相反,给你一个公平的答案:不,你不能这样做。
我建议使用 jQuery FileFive
插件:https://github.com/JDBurnZ/jquery-filefive
Internet Explorer 10,Firefox和Chrome都支持HTML5文件对象,它允许您读取文件的大小,文件名和MIME类型,以及文件的实际内容;如果您想显示所选图像的缩略图而不上传它们,后者很有用。
工作 jsFiddle 示例:http://jsfiddle.net/URqBk/
示例代码:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="https://raw.github.com/JDBurnZ/jquery-filefive/master/jquery.filefive-0.1.0-rc1.min.js"></script>
<script type="text/javascript">
$(function() {
$(document.body).on('change', 'input[type="file"]', function(event) {
var $ = $.filefive(this);
$.each($filefive.files(), function(offset, file) {
var $img = file.image();
$('body').append($img);
}
});
});
</script>
</head>
<body>
<form>
<input type="file" name="myfile" />
</form>
</body>
</html>
相关文章:
- 如何更改<svg>标记为<img>用js标记
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript:使用绝对路径设置img src
- Setting default onclick behavior for <img> tag in gene
- 通过点击按钮翻转缩略图
- 如何在页面加载中使用Jquery/Javascript确定img源
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 使用AngularJs时,如何在img标记具有src-attr时设置数据src
- 插入“;img src"在javascript中
- 带有计数器、缩略图、进度条和淡入淡出效果的简单jQuery幻灯片
- 检索MongoDB binData并显示为<img>src
- 如何解析Brightcove视频中的视频缩略图
- 如何删除视频's缩略图时's加载在JW Player's闪光模式
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- 限制对HTML/CSS/IMG或根索引文件夹的访问
- jQuery上的缩略图单击替换第二个img src与缩略图src
- 将大的img src替换为缩略图img woocommerce产品循环
- 每个锚点的JQuery href替换缩略图img src
- jQuery - 如何从输入文件 img 制作缩略图