使用html和javascript上传图像文件并返回法则路径

时间:2019-04-29 08:12:46

标签: javascript html file-upload

我正在尝试在我的网站上上传图像,并将其作为base64编码的字符串添加到数据库中。问题是我无法通过java接收上传的文件路径。在前端,我正在使用HTML和javascript,这是HTML标记:

<div class="col-xs-6">
    <label>passport image </label><input id="image-input" type="file"
                        placeholder="file">
    </div>

在我添加的javascript中:

document.getElementById("image-input").value;

到达我的图像的路径为“ C:\ fakepath \ IMAGE_NAME”。  我需要一种将照片或其路径发送到Java代码的方法,如何在不使用jsf或spring的情况下执行此操作。

2 个答案:

答案 0 :(得分:0)

  

某些浏览器具有一项安全功能,可阻止JavaScript   知道文件的本地完整路径。这很有意义-作为客户,您   不想服务器知道您本地计算机的文件系统。

     

我在输入onchange事件上使用对象FileReader作为输入   文件类型!本示例使用readAsDataURL函数,为此   您应该有标签的原因。 FileReader对象也有   readAsBinaryString获取二进制数据,以后可以将其用于   在您的服务器上创建相同的文件

示例:

var input = document.getElementById("inputFile");
var fReader = new FileReader();
fReader.readAsDataURL(input.files[0]);
fReader.onloadend = function(event){
    var img = document.getElementById("yourImgTag");
    img.src = event.target.result;
}

答案 1 :(得分:0)

试试这个!使用:replace

var imgpath = document.getElementById("image-input").value;
var newPath = imgpath .replace("C:\\fakepath\\", "")