html 点击选择本地文件(图片)显示和上传

图片点击触发input-file点击
function F_Open_dialog(id) {
            document.getElementById(id).click();
}


处理event事件,给image赋值base64的src
 function imgChange(e, imageid) {
            console.info(e.target.files[0]);//图片文件
            console.log(e.target.value);//这个也是文件的路径和上面的dom.value是一样的
            var reader = new FileReader();
            reader.onload = (function (file) {
                return function (e) {
                    console.info(this.result); //这个就是base64的数据了
                    document.getElementById(imageid).src = this.result;
                };
            })(e.target.files[0]);
            reader.readAsDataURL(e.target.files[0]);
}




body中需要加上隐藏的input-file和img标签
 <input type="file" id="btn_file3" name="consignerRdFile" accept="image/jpg,image/jpeg,image/gif,image/png"
                   style="display:none"
                   οnchange="imgChange(event,'consignerRdSign')">
<img id="consignerRdSign" src="/static/images/upload_img.png" width="100px" height="100px"
                 οnclick="F_Open_dialog('btn_file3')">
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这里给出一个简单的例子: HTML代码: ``` <form method="post" enctype="multipart/form-data"> <input type="file" name="image" accept="image/*"> <input type="submit" value="上传"> </form> ``` 这里使用了form表单的enctype属性,告诉浏览器以二进制流的方式上传文件。 PHP代码: ``` <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $image = $_FILES["image"]; $target_dir = "uploads/"; $target_file = $target_dir . basename($image["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // 检查文件是否为图片 if(isset($_POST["submit"])) { $check = getimagesize($image["tmp_name"]); if($check !== false) { $uploadOk = 1; } else { echo "文件不是图片。"; $uploadOk = 0; } } // 检查文件是否已存在 if (file_exists($target_file)) { echo "文件已存在。"; $uploadOk = 0; } // 检查文件大小 if ($image["size"] > 500000) { echo "文件过大。"; $uploadOk = 0; } // 允许上传文件格式 if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "只允许上传 JPG, JPEG, PNG 和 GIF 格式的文件。"; $uploadOk = 0; } // 检查是否有错误 if ($uploadOk == 0) { echo "上传失败。"; } else { if (move_uploaded_file($image["tmp_name"], $target_file)) { echo "文件 ". basename($image["name"]). " 已上传。"; } else { echo "上传失败。"; } } } ?> ``` 这里使用了PHP的$_FILES超全局变量来获取上传文件信息。然后进行一系列的检查,包括文件类型、文件大小、文件是否已存在等等。最后如果没有错误,就将文件移动到指定的目录中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值