HTML:
<input name="fileToUpload" type="file" id="fileToUpload"/>
<div id="div1"> </div>
Jquery的:
$(function()
{
$("#fileToUpload").on('change', 'input' , function(){
// Display image on the page for viewing
readURL(this,"div1");
});
});
function readURL(input , tar) {
if (input.files && input.files[0]) { // got sth
// Clear image container
$("#" + tar ).empty();
$.each(input.files , function(index,ff) // loop each image
{
var reader = new FileReader();
// Put image in created image tags
reader.onload = function (e) {
$('#' + tar).attr('src', e.target.result);
}
reader.readAsDataURL(ff);
});
}
我想显示上传到div容器的图像,但我的代码不起作用。知道如何让它发挥作用吗?
答案 0 :(得分:4)
问题是,你是
$("#fileToUpload").on('change', 'input' , function(){
变为
$("#fileToUpload").on('change', function(){
你的div变成了img。
完整解决方案:
<input name="fileToUpload" type="file" id="fileToUpload"/>
<img id="preview" />
$(function() {
$("#fileToUpload").on('change', function() {
// Display image on the page for viewing
readURL(this, "preview");
});
});
function readURL(input, tar) {
if (input.files && input.files[0]) { // got sth
// Clear image container
$("#" + tar).removeAttr('src');
$.each(input.files, function(index, ff) // loop each image
{
var reader = new FileReader();
// Put image in created image tags
reader.onload = function(e) {
$('#' + tar).attr('src', e.target.result);
}
reader.readAsDataURL(ff);
});
}
}