如何获取输入文件中的选定路径?

时间:2019-05-08 11:59:35

标签: javascript php html jsp servlets

我正在使用servlet / jsp。

我在jsp中有一个输入类型文件和一个img,并希望将其url到servlet。 我这样尝试过,但没有成功,请求为null:

JSP:

<script>
   var loadFile = function (event) {
   var output = document.getElementById('imgTpProd');
   output.src = URL.createObjectURL(event.target.files[0]);
                                                                };
</script>

<label id="lblInputFile" for='selecao-arquivo'>Selecionar um arquivo </label>
<input id="selecao-arquivo" name="txturlimage" type="file" accept="image/*" onchange="loadFile(event)">

<div id="imgGrupProd">
   <img src="">
</div>

Servlet:

String s = request.getParameter("txturlimage");

想象一下本地应用程序,本地映像和本地bd ...

我有一个产品表,这个产品表有一个图像的url字段,用户可以通过输入文件来选择它。我需要将图像路径保存在bd中。

不可能?所有包含图片,个人资料照片的记录,它们是如何制作的?

有没有不使用javascript和php的解决方案?

如果没有,我想要一个简单的javascript / php代码(有注释),我对编程语言不熟悉。

1 个答案:

答案 0 :(得分:0)

您可以使用不可见的HTML输入元素来存储图片的Blob URL。

<input type="hidden" name="hiddenInput" id="myHiddenInput" value=""/>

在loadFile()回调函数中,您需要将此隐藏输入字段的 value 属性设置为以下URL:

var loadFile = function(event) {
  var output = document.getElementById('imgTpProd');
  output.src = URL.createObjectURL(event.target.files[0]);
  document.getElementById('myHiddenInput').value = output.src;
};

现在您可以使用以下命令从jsp中引用它:

String s = request.getParameter("hiddenInput");