首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何只在jsp中从mysql上传图片

如何只在jsp中从mysql上传图片
EN

Stack Overflow用户
提问于 2012-11-15 15:07:09
回答 1查看 3K关注 0票数 1

目前,我在一个网站上工作,这是完全在html+jsp使用eclips。现在我的问题是上传文件。我能够显示图像从我的本地机器到我的html页面,但我想将该图像存储到mysql数据库中,然后显示在主网页上。

假设我在第一页中有两个页面,操作员从其本地计算机中选择任何图像,然后它也将显示在同一页上的图像视图上,并且当操作员单击上传图像时,图像将显示在网站上。

如前所述,我能够在操作员的页面上显示图像,但如何将其保存在mysql数据库中,然后在网站上检索它。

是否可以仅在.jsp文件中执行此任务?

下面是显示来自本地计算机图像的代码,

代码语言:javascript
复制
  <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代码

代码语言: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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-17 15:24:52

代码语言:javascript
复制
<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 包。

代码语言:javascript
复制
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);
    }

    // ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13392909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档