目前,我在一个网站上工作,这是完全在html+jsp使用eclips。现在我的问题是上传文件。我能够显示图像从我的本地机器到我的html页面,但我想将该图像存储到mysql数据库中,然后显示在主网页上。
假设我在第一页中有两个页面,操作员从其本地计算机中选择任何图像,然后它也将显示在同一页上的图像视图上,并且当操作员单击上传图像时,图像将显示在网站上。
如前所述,我能够在操作员的页面上显示图像,但如何将其保存在mysql数据库中,然后在网站上检索它。
是否可以仅在.jsp文件中执行此任务?
下面是显示来自本地计算机图像的代码,
<div class="file">
<ul class="thumbnails">
<li class="span4">
<a href="#" class="thumbnail">
<div id="imgThumbId"></div>
</a>
</li>
</ul>
<form action="advertise.jsp">
<fieldset>
<legend>Upload Image</legend>
<label for="file">Choose photo</label>
<input type="file" name="file" id="file" /><br/>
<input type="submit" name="upload" id="upload" value="Upload photo" onclick="PreviewRecipeImage();"/>
</fieldset>
</form>
</div>下面是javascript代码
<script type="text/javascript">
function PreviewRecipeImage(){
var file = document.getElementById('file').files[0]; // create img tag for selected recipe image file
var img = document.createElement("img");
img.id = "imgid";
img.classList.add("obj");
img.file = file;
//img.width = 90;
//img.height = 90;
//ClearThumb1Image();
document.getElementById('imgThumbId').appendChild(img);// append img tag to recipe image tag
var reader = new FileReader();
reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img);
reader.readAsDataURL(file);
}
</script>发布于 2012-11-17 15:24:52
<div class="file" >
<ul class="thumbnails">
<li class="span4">
<a href="#" class="thumbnail">
<div id="imgThumbId"></div>
</a>
</li>
</ul>
<form action="advertise.jsp" enctype="multipart/form-data">
<fieldset>
<legend>Upload Image</legend>
<label for="file">Choose photo</label>
<input type="file" name="file" id="file" /><br/>
<input type="submit" name="upload" id="upload" value="Upload photo" onclick="PreviewRecipeImage();"/>
</fieldset>
</form>
</div>在表单中使用enctype="multipart/form-data"。
要处理多部分/表单数据,请使用以下servlet代码。并在您的代码中导入 Apache Commons FileUpload 包。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (item.isFormField()) {
// Process regular form field (input type="text|radio|checkbox|etc", select, etc).
String fieldname = item.getFieldName();
String fieldvalue = item.getString();
// ... (do your job here)
} else {
// Process form file field (input type="file").
String fieldname = item.getFieldName();
String filename = FilenameUtils.getName(item.getName());
InputStream filecontent = item.getInputStream();
// ... (do your job here)
}
}
} catch (FileUploadException e) {
throw new ServletException("Cannot parse multipart request.", e);
}
// ...
}https://stackoverflow.com/questions/13392909
复制相似问题