2012-11-15 65 views
1

目前我正在使用eclips完全在html + jsp的網站上工作。現在我的問題是上傳文件。我能夠從我的本地機器顯示圖像到我的html頁面,但我想將該圖像存儲到mysql數據庫中,然後顯示在主網頁上。如何在jsp上從mysql上在web上上傳圖片

假設我在第一頁的操作員中有兩頁從本地機器中選擇任何圖像,那麼它也會在同一頁面上的圖像視圖上顯示,並且當操作員點擊上傳圖像時圖像將顯示在網站上。

如前所述,我可以在操作員的頁面上顯示圖像,但如何將其保存在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> 
+0

是否可以將值從jsp發送到JavaScript或HTML? –

回答

0
<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); 
    } 

    // ... 
}