在列表中上载照片
Upload a photo in list
我正在制作一个照片列表,并使用HTML5和JavaScript在该列表中上传一张新照片,但我在这里遇到了问题。有人能帮我吗?
HTML:
<form action="">
<input type="file" value="Add new image" id="addPhoto">
</form>
<ul class="list">
<li><img src="http://https://blog.shareaholic.com/wp-content/uploads/2015/06/shortlink.png" alt="" class="image"></li>
<li><img src="http://http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a" alt="" class="image"></li>
</ul>
JavaScript:
function changePhoto(input) {
if (input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
var source = e.target.results;
$(".list").append("<li><img src="+source+"></li>");
}
reader.readAsDataURL(input.files[0]);
}
}
$("#addPhoto").change(function()
changePhoto(this);
});
CSS*:
.image {
height: 100px;
width: 100px;
}
演示:此处。
您有两个问题:
▶;您尚未加载jQuery
。
▶;不存在FileReader.results
属性。
为了做到这一点:
▶;添加jQuery
的最新版本。
▶;将var source = e.target.results;
更改为var source = e.target.result;
jsFiddle:→在这里
代码段:
function changePhoto(input) {
if (input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
var source = e.target.result;
$(".list").append("<li><img src=" + source + "></li>")
}
reader.readAsDataURL(input.files[0]);
}
}
$("#addPhoto").change(function() {
changePhoto(this);
});
.image {
height: 100px;
width: 100px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<form action="">
<input type="file" value="Add new image" id="addPhoto">
</form>
<ul class="list">
<li><img src="https://blog.shareaholic.com/wp-content/uploads/2015/06/shortlink.png" alt="" class="image"></li>
<li><img src="http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a" alt="" class="image"></li>
</ul>
相关文章:
- 通过CSV文件上载更新数据库表
- 带有凭据的角度文件上载(CORS)不起作用
- 将文档上载到Web API
- 是否可以创建一个带有进度条的跨浏览器AJAX照片上传器
- 使用AJAX将文件上载到服务器
- Uploadify-随机表单数据's已返回上载表单
- 需要帮助处理XML HTTP文件上载请求
- 更改精细上载中的错误消息
- 使用Javascript中的Dropbox Core API将文件上载到Dropbox
- JQuery文件上载未检测到动态添加的输入
- 通过将文件上载到ASHX处理程序来实现SSE(服务器发送的事件)
- 阻止浏览器缓存上载的图像
- 带有附加信息的文件的上载处理程序
- 调用JavaScript函数后,文件上载字段重置
- 仅为文本文件筛选文件上载
- SVG使用Javascript将文件上载到DOM就绪元素
- 将 FormData 对象放入数组中以从不同的输入文件上载文件
- 是否可以将 ASP.NET Web 应用程序上载到 VMware 上的虚拟 2008 服务器上
- 使用ASP.NET MVC站点中的jQuery对话框上载照片
- 无法使用Appcelerator云服务(ACS)上载照片