我有一个只上传图片的表单,以及一个将该图片存储在文件系统中的Controller。 然后,该控制器返回一个重新加载页面的模型和视图。 然后我有一个img标签从文件系统加载这张图片。谢谢:
<form method="POST" th:action="@{/user}" enctype="multipart/form-data" role="form">
<input type="file" name="file" onchange="this.form.submit()" />
<img th:src="@{/user/{pictureNumber}(pictureNumber=${Id})}"/>
</form>
这是返回图片的控制器:
@RequestMapping(value = "/user/{pictureNumber}")
@ResponseBody
public byte[] getImage(@PathVariable(value = "pictureNumber") String userId) throws IOException {
File directory= new File("..path"+pictureNumber);
return Files.readAllBytes(directory);
}
刷新页面后,会显示已加载的图片。 一旦图片存储后,我如何在表单提交后, img标签当前要重新加载的div,以便显示图片而不必刷新?
答案 0 :(得分:1)
您可以尝试在表单提交后重新加载页面:
<form method="POST" th:action="@{/user}" enctype="multipart/form-data" role="form">
<input type="file" name="file" onchange="this.form.submit(); location.reload();" />
<img th:src="@{/user/{pictureNumber}(pictureNumber=${Id})}"/>
</form>