html 中的图像预览中出错
ERROR in image preview in html
我使用以下代码显示图像,input box
它工作正常,我使用单个输入框上传多个输入框使用multiple
并且工作正常
我只需要上传 5 张图像,因此如果超过 5 张图像,我使用 break
语句停止上传过程
法典
function handleFileSelect(evt) {
var files = evt.target.files;
for (var i = 0, f; f = files[i]; i++) {
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(e) {
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
上面的代码显示图像预览
斯菲德尔
错误
- 如果用户添加超过 5 张图像,我只需要显示 5 张图像 如果我第一次选择 3 张图像
- 并在同一个输入框中,如果我选择 5 张图像,则会显示这 5 张图像和前 3 张图像,但前 3 张图像未上传,所以我只需要在对等列表中显示图像
您需要在循环中添加长度和 i<5。
for (var i = 0; i<files.length && i<5; i++) {
var f = files[i];
如果您认为文件类型会成为问题,您可以随时使用第二个计数器
var imgCount = 0;
for (var i = 0; i<files.length && imgCount<5; i++) {
var f = files[i];
if (!f.type.match('image.*')) {
continue;
}
imgCount++;
对于您的其他问题,uou 需要在开始添加图像时清除输出区域。
document.getElementById('list').innerHTML = "";
for (var i = 0; i<files.length && i<5; i++) {
var f = files[i];
function handleFileSelect(evt) {
var files = evt.target.files;
var listOut = document.getElementById('list');
listOut.innerHTML = "";
for (var i = 0; i < files.length && i < 5; i++) {
var f = files[i];
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
reader.onload = (function (theFile) {
return function (e) {
var span = document.createElement('span');
var img = document.createElement('img');
img.className = "thumb";
img.src = e.target.result;
img.title = theFile.name;
span.appendChild(img);
listOut.appendChild(span);
};
})(f);
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
相关文章:
- 将图像下载为数据url时出错
- 从 Base64 转换图像时出错 - HTMLImageElement 已损坏
- Firefox使用drawImage将SVG图像渲染到HTML5画布时出错
- 在ng重复中注入图像源时出错
- 将 raphaeljs 导出为路径背景作为图像的 jpg 时出错
- 处理表单时显示图像时出错
- html 中的图像预览中出错
- (jQuery)Nivo Slider 加载幻灯片时出错 - 它只是加载第一个图像并保持原样
- 在一个画布中放置两个以上的图像时出错
- 带有链接的图像淡入时出错
- 在D3中使用CloudFront图像时出错
- 在Fabric JS中将图像加载为模式时出错
- 在fckeditor中插入图像时出错
- 加载图像时出错
- 在html中显示服务器端的jpg图像数据时出错
- 尝试用ruby在模态中打开pin图像onclick时出错
- CORS在图像拖放(在dropBox公用文件夹中)时出错-Javascript
- Meteor:尝试使用节点gd访问图像时出错:ENOENT
- 在web应用程序中加载图像和JS文件时出错
- 点击图像时出错:意外令牌}