1. 程式人生 > >JavaWeb項目 js圖片上傳到Oracle轉為base64存入數據庫

JavaWeb項目 js圖片上傳到Oracle轉為base64存入數據庫

undefine outerhtml new null jsp頁面 contex ble con 創建

jsp頁面代碼:

<form name="form" id="form" method="post">

  <span class="title-span">設備圖片</span>

  <input type="file" id="imagefile"/>

  <input type="button" value="上傳圖片" onclick="saveImg(‘保存圖片路徑‘)"/>

  <div name="result" id="result">
    <!-- 這裏用來顯示圖片結果-->
  </div>

</form>

js如下:

/*****讀取圖片 start******/
var imgFile = "";

$("#imagefile").live(‘change‘,function(){

if(typeof FileReader==‘undifined‘) { //判斷瀏覽器是否支持filereader

  var result=document.getElementById("result");

  result.innerHTML="<p>抱歉,你的瀏覽器不支持 FileReader</p>";

  return false;
}

imgFile = document.getElementById("imagefile").files[0];

if(!/image\/\w+/.test(imgFile.type)) {//判斷獲取的是否為圖片文件

  alert("請選擇正確的圖像文件");

  var obj = document.getElementById(‘imagefile‘) ;

  obj.outerHTML=obj.outerHTML;

  return false;

}

if(imgFile != undefined ){

  var reader=new FileReader();

  reader.readAsDataURL(imgFile);

  reader.onload=function(e) {

  var result=document.getElementById("result");

  result.innerHTML=‘<img style="width:100%;" src="‘+this.result+‘" />‘;

    }

  }

});

/*****讀取圖片 end******/

/*****圖片上傳的方法******/

function saveImg(url) {

var formData = new FormData(); // 創建formData表單數據對象

formData.append("file", imgFile); // 文件對象

$.ajax({

  url: url,

  type: ‘post‘,

  data: formData,

  processData : false,

  contentType : false,

  cache: false,

  success: function (str) {

    alert(str);

  },

  error: function (jqXHR, textStatus, errorThrown) {

    alert(jqXHR.responseText);

  }
 });
}

/*****後臺代碼******/

@RequestMapping(value="/save", produces= "text/plain;charset=UTF-8")
@ResponseBody
public String saveEquipment(Equipment equipment,HttpServletRequest request) throws Exception{

/**先實例化一個文件解析器*/
CommonsMultipartResolver coMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());

/**判斷request請求中是否有文件上傳*/
if (coMultipartResolver.isMultipart(request)) {

/**轉換request*/
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;

/**獲得文件*/
MultipartFile file = multiRequest.getFile("file");

if (file != null) {

  InputStream is = file.getInputStream();

  byte[] nb = new byte[is.available()];

  is.read(nb);

  is.close();

  Base64Encoder encoder = new Base64Encoder();

  /**設置轉為base64的圖片*/
  String encode = encoder.encode(nb).trim();

  // 設置圖片屬性

  equipment.setIcon(encode);
  }else {
    System.out.println("--------未選擇文件-------");
  }

   // 調用持久層方法保存到數據庫

  result = equipmentService.insert(equipment);

  return result ? "上傳成功" : "上傳失敗"
 }

}

JavaWeb項目 js圖片上傳到Oracle轉為base64存入數據庫