我正在开发一个带有选项页面的Chrome扩展程序。在那个页面上,我放了一个上传图片的选项,但是不能用JavaScript加载文件。我尝试了很多解决方案(1st solution,2nd solution ......),但没有一个工作。奇怪的是,即使是html代码中的“onclick”属性也不会调用相应的函数。下面是代码的一个例子:
HTML示例:
<input type="file" name="uploadImage" id="uploadImage" />
<button type="submit" id="imageUpload-btn" onclick="myFunction();">Upload</button>
JavaScript示例:
jQuery("#imageUpload-btn").click(function(){
var image = new Image();
image.src = jQuery("#uploadImage").val();
alert(image.src);
image.onload = function(){
alert("on load");
}
image.onerror = function(){
alert("error");
}
});
我在第一个警报中获取文件的路径,但随后总是错误警报。函数“myFunction()”没有被调用,但是如果我直接在浏览器中打开文件,“onclick”触发器会工作,“myFunction()”会被调用。
我做错了什么,或者我错过了什么?
2条答案
按热度按时间vecaoik11#
在这里,您正在使用
enctype="multipart/form-data"
在这种类型中,我们没有opportunity使用你需要去apache.commons.fileupload
ServletFileUpload.isMultipartContent(request);
,这是完全与java相关的。rlcwz9us2#
你需要在
#uploadImage
中工作,因为上传文件的url会被破坏。你想用类似于