javascript - HTML直接上传图片

标签 javascript php html

我有一个页面,允许用户上传他们的照片作为他们的个人资料照片。我有这个代码:

<form method = "post" action = "" enctype="multipart/form-data">
    <input type = "hidden" name = "size" value = "1000000">
    <input type = "file" name = "image">
    <input type = "submit" name = "upload" value = "Upload Image">
</form>

我的PHP:

if(isset($_POST['upload'])) {
    $target = "profileimgs/".$key.basename($_FILES['image']['name']); 

    $image = $key.basename($_FILES['image']['name']);


    $sql = "UPDATE users SET img = '$image' WHERE idnumber = $idnumber";
    mysqli_query($con,$sql);

    if(move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
        header("Location:home.php");
    } else {
        header("Location:error_uploading.php");
    }
}

选择图片后,将显示的唯一预览是图片的文件名。我想在他们选择图像后立即添加他们选择的图像的“预览”。就像您在 Facebook 上上传个人资料图片一样 - 您从计算机中选择一张图片,然后当您单击 select picture 时它会自动将您的图片上传到页面,并为您提供该图片的预览,而无需单击这么多按钮。

我可以做些什么来实现这个目标吗?

最佳答案

<form id="form1" runat="server">
   <input type='file' id="imgInp" />
   <img id="blah" src="#" alt="your image" />
</form>


<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);
            }

            reader.readAsDataURL(input.files[0]);
        }
}

$("#imgInp").change(function(){
    readURL(this);
});
</script>
It will show instead image using javascript base encode. your php code work as well as. 

关于javascript - HTML直接上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160226/

相关文章:

javascript - 使用 puppeteer 的提示

javascript - 设置变量,而不是让最终用户从 html 表单输入变量

javascript - 我应该使用 ref 还是 findDOMNode 来获取元素的 react 根 dom 节点?

javascript - 如何将大量文本文件放入 JavaScript 数组中?

php - 在数据库中插入新记录时显示通知

html - Internet Explorer 和 Windows Phone 无法识别特定主机上的 UTF-8

php - 通过 WooCommerce 3.3 中的 Hook 更改产品变化价格

php - 为什么页面不会用 MAMP 刷新

javascript - 无法在 bootstrap div 上插入 d3 图表

javascript - HTML - Fancybox - 在图像缩略图下方添加文本