日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

上传图片和音频到Server,再转存到DB

發(fā)布時(shí)間:2024/7/23 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 上传图片和音频到Server,再转存到DB 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

jsp頁(yè)面

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%> <%@ include file="/common/taglibs.jsp"%> <link rel="stylesheet" href="<c:url value='/plugin/ztree-v3.5.14/css/zTreeStyle/zTreeStyle.css'/>" type="text/css"> <script type="text/javascript" src="<c:url value='/plugin/ztree-v3.5.14/js/jquery.ztree.core-3.5.js'/>"></script> <script type="text/javascript" src="<c:url value='/plugin/ztree-v3.5.14/js/jquery.ztree.excheck-3.5.js'/>"></script> <script type="text/javascript" src="<c:url value='/plugin/ztree-v3.5.14/js/jquery.ztree.exedit-3.5.js'/>"></script> <script language="javascript" type="text/javascript" src="<c:url value='/plugin/artDialog4.1.7/jquery.artDialog.js?skin=simple'/>"></script> <script language="javascript" type="text/javascript" src="<c:url value='/plugin/artDialog4.1.7/plugins/iframeTools.js'/>"></script> <script language= javascript type= text/javascript src="<c:url value='/default/scripts/jquery.form.js'/>" ></script> <style> <!-- input[type=text],select,textarea {width:300px; }.mouse_pointer{cursor:pointer;}label.align_top {vertical-align: top;}label.align_mid {vertical-align: middle;}textarea {margin:0;padding:0;height:50px;}#editCourse_table {border: transparent;border-collapse: collapse;font-family: Arial,Helvetica,sans-serif;margin-top: 10px;}.editCourse_table td{/*background-color: #EFEFEF;*/border: transparent;padding: 5px 15px 5px 5px;vertical-align: middle;width:65%;}.editCourse_table td:first-child{text-align: right;width:20%;}.editCourse_table td:last-child {text-align:left;width:12px;}.notNullStar {vertical-align: sub;}.hidden {display: none;} --> </style><script>var saved;//值改變函數(shù)function valueChanged(elem){saved = false;}function reDisplay( wordDicObj ){$("input[name='wordDictionaryVo.word']").val(wordDicObj.word);$("input[name='wordDictionaryVo.abbreviative']").each(function(){$(this).removeAttr("checked");});if( wordDicObj.abbreviative == true ){$("input[name='wordDictionaryVo.abbreviative'][value='true']").attr("checked", true);}else{$("input[name='wordDictionaryVo.abbreviative'][value='false']").attr("checked", true);}//釋義if( wordDicObj.wordExplain != null && wordDicObj.wordExplain != "" ){$("textarea[name='wordDictionaryVo.wordExplain']").val(wordDicObj.wordExplain);}if( wordDicObj.simpleExplain != null && wordDicObj.simpleExplain != "" ){$("textarea[name='wordDictionaryVo.simpleExplain']").val(wordDicObj.simpleExplain);}$("#wordImage").attr("src", "<c:url value='/worddictionary/getImageById.action?id='/>" + wordDicObj.id);if( wordDicObj.ukPhoneticSymbol != null && wordDicObj.ukPhoneticSymbol != "" ){$("input[name='wordDictionaryVo.ukPhoneticSymbol']").val(wordDicObj.ukPhoneticSymbol);}if( wordDicObj.ukPhoneSplit != null && wordDicObj.ukPhoneSplit != "" ){$("input[name='wordDictionaryVo.ukPhoneSplit']").val(wordDicObj.ukPhoneSplit);}if( wordDicObj.ukWordSplit != null && wordDicObj.ukWordSplit != "" ){$("input[name='wordDictionaryVo.ukWordSplit']").val(wordDicObj.ukWordSplit);}if( wordDicObj.ukAudioExist != null && wordDicObj.ukAudioExist == true ){$("#ukspeaker").attr("audioUrl","<c:url value='/worddictionary/getAudioByIdAndCountry.action?id='/>" + wordDicObj.id + "&countryType=uk");$("#ukspeaker").show();}else{$("#ukspeaker").attr("audioUrl","");$("#ukspeaker").hide();}if( wordDicObj.usPhoneticSymbol != null && wordDicObj.usPhoneticSymbol != "" ){$("input[name='wordDictionaryVo.usPhoneticSymbol']").val(wordDicObj.usPhoneticSymbol);}if( wordDicObj.usPhoneSplit != null && wordDicObj.usPhoneSplit != "" ){$("input[name='wordDictionaryVo.usPhoneSplit']").val(wordDicObj.usPhoneSplit);}if( wordDicObj.usWordSplit != null && wordDicObj.usWordSplit != "" ){$("input[name='wordDictionaryVo.usWordSplit']").val(wordDicObj.usWordSplit);}if( wordDicObj.usAudioExist != null && wordDicObj.usAudioExist == true ){$("#usspeaker").attr("audioUrl","<c:url value='/worddictionary/getAudioByIdAndCountry.action?id='/>" + wordDicObj.id + "&countryType=us");$("#usspeaker").show();}else{$("#usspeaker").attr("audioUrl","");$("#usspeaker").hide();}}function clearDisplay(){$("input[name='wordDictionaryVo.abbreviative']").each(function(){$(this).removeAttr("checked");});$("input[name='wordDictionaryVo.abbreviative'][value='false']").attr("checked", true);$("textarea[name='wordDictionaryVo.wordExplain']").val("");$("textarea[name='wordDictionaryVo.simpleExplain']").val("");$("#wordImage").attr("src", "<c:url value='/worddictionary/getImageById.action?id='/>");$("input[name='wordDictionaryVo.ukPhoneticSymbol']").val("");$("input[name='wordDictionaryVo.ukPhoneSplit']").val("");$("input[name='wordDictionaryVo.ukWordSplit']").val("");$("#ukspeaker").attr("audioUrl","");$("#ukspeaker").hide();$("input[name='wordDictionaryVo.usPhoneticSymbol']").val("");$("input[name='wordDictionaryVo.usPhoneSplit']").val("");$("input[name='wordDictionaryVo.usWordSplit']").val("");$("#usspeaker").attr("audioUrl","");$("#usspeaker").hide();}$(function(){//radio輸入改變事件$("input[type=radio]").change(function(){valueChanged(this);});$("input[type=text],textarea").bind("input propertychange",function(){valueChanged(this);});$("#word").keydown(function( evt ){if( evt.keyCode == 13 ){$("#queryButton").trigger("click");}});//單詞查詢Button$("#queryButton").click(function(){if($("#wordForm").validate().form()){var word = $.trim($("#word").val());$.ajax({url: "<s:url value='/worddictionary/getWordDictionaryByWord.action'/>",type: "post",async:true,data:{word:word},dataType: "json",contentType:"application/x-www-form-urlencoded; charset=UTF-8" , //success: function( rtnValue ){if(rtnValue== null ){clearDisplay();art.tips("單詞或詞組不存在,趕緊添加吧!",2);}else{clearDisplay();reDisplay( rtnValue );}},error: function(reqObj, strError, strObj){}});}});$.validator.addMethod("validChar", function(value, element, params){value = $.trim(value);if (/^[\w|\s|\-|']*$/.test(value)) {return true;}return false;},"單詞或詞組包含非法字符" );$("#wordForm").validate({//顯示錯(cuò)誤信息用的標(biāo)簽類型errorElement: "em",//驗(yàn)證規(guī)則rules: {"wordDictionaryVo.word":{required: true,maxlength:256,validChar: true}},messages: {"wordDictionaryVo.word":{required:"請(qǐng)輸入單詞或詞組",maxlength:"單詞或詞組總長(zhǎng)度太長(zhǎng)",checkBlank:"單詞或詞組不能為空串",validChar:"單詞或詞組包含非法字符"}}});//保存$("#saveButton").click(function(){if(!$("#wordForm").validate().form()){var errorMessage = "";$("em.error").each(function(){errorMessage += $(this).text() + "<br/>";});art.tips(errorMessage,2.5);return;}if(saved){art.tips("已成功保存或無更改,無需再次保存",2.5);return;}$("#wordForm").ajaxSubmit({type:"post",dataType:"json",success: function(response) {if(response.message.saveSuccess){art.tips("保存成功!",1.5);saved = true;}else{art.tips("保存失敗,"+response.message.errorMsg,2.5);}},error:function(response){art.tips("保存失敗,網(wǎng)絡(luò)錯(cuò)誤",2.5);}});});//上傳圖片$("#uploadImage").click(function(evt){evt.preventDefault();var val = $(this).attr("name");art.dialog.data('name', val);art.dialog.open('<c:url value="/worddictionary/uploadImageDialog.action"/>',{id: 'iframedialogUpload',title: '',lock: true,width:400,drag:false,height:150,init: function () {var iframe = this.iframe.contentWindow; //獲取子頁(yè)面對(duì)象var top = art.dialog.top;// 獲取父頁(yè)面對(duì)象}},false);});//上傳音頻$("#uploadUKAudio,#uploadUSAudio").click(function(evt){evt.preventDefault();var val = $(this).attr("name");art.dialog.data('name', val);art.dialog.open('<c:url value="/worddictionary/uploadAudioDialog.action"/>',{id: 'iframedialogUpload',title: '',lock: true,width:400,drag:false,height:150,init: function () {var iframe = this.iframe.contentWindow; //獲取子頁(yè)面對(duì)象var top = art.dialog.top;// 獲取父頁(yè)面對(duì)象}},false);});$(".speaker").click(function(){var audioUrl = $(this).attr("audioUrl");thisMovie("wordDictionary_mp3Player").playAudio(audioUrl);});});function changeImage(name,imageName){$("#"+name).attr("src","<s:url value='/temp/images/'/>"+imageName);$("#"+name +"_hidden").val(imageName);saved = false; }function changeAudio(name, audioName){var audioUrl = "<c:url value='/worddictionary/getAudioByFileName.action?audioServerFileName='/>" + audioName;$("#"+name).attr("audioUrl", audioUrl);$("#"+name).show();$("#"+name +"_hidden").val(audioName);saved = false; }function thisMovie(movieName) {if (navigator.appName.indexOf("Microsoft") != -1) {return window[movieName];}else {return document[movieName];} }</script><!-- 隱藏的ActionScript播放器類 --> <!-- <object style="width: 1px; height: 1px;position: absolute; top:0px; left:0px;" type="application/x-shockwave-flash" data="<c:url value='/flash/NetStreamAudioPlayerAS.swf?onLoadCompleted=onPlayerCompleted'/>" name="wordDictionaryAudioPlayer" id="wordDictionaryAudioPlayer" ><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="<c:url value='/flash/NetStreamAudioPlayerAS.swf?onLoadCompleted=onPlayerCompleted'/>" /><param name="quality" value="high" /><param name="scale" value="noScale" /><param name="wmode" value="transparent" /> </object> --><object style="width: 0px; height: 0px;" type="application/x-shockwave-flash" data="/flash/Mp3PlayerAS.swf" name="wordDictionary_mp3Player" id="wordDictionary_mp3Player" ><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/flash/Mp3PlayerAS.swf" /><param name="visible" value="false" /> </object><span class="font-18">單詞編輯</span> <form action="<c:url value='/worddictionary/saveWordDictionary.action'/>" method="post" id="wordForm" name="wordForm"><div style="width:860px;"><table id="editCourse_table" class="editCourse_table"><!-- 編輯區(qū),公有屬性 --><tbody><tr><td><label><span class="font-red notNullStar">*</span>單詞:</label></td><td><s:textfield id="word" name="wordDictionaryVo.word"/><input type="button" class="button" name="queryButton" value="查詢" id="queryButton"/></td></tr><tr><td><label>是否是縮寫:</label></td><td><input type="radio" name="wordDictionaryVo.abbreviative" value="false" checked/>否<input type="radio" name="wordDictionaryVo.abbreviative" value="true"/>是</td></tr><tr><td><label>釋義:</label></td><td><s:textarea id="wordExplain" cols="50" name="wordDictionaryVo.wordExplain" /></td></tr><tr><td><label>簡(jiǎn)單釋義:</label></td><td><s:textarea id="simpleExplain" cols="50" name="wordDictionaryVo.simpleExplain" /></td></tr><tr><td><label for="iconImage" class="align_top">圖片:</label></td><td><img id="wordImage" style="width:140px;height:210px;border: 1px black solid;" src="<c:url value='/worddictionary/getImageById.action?id='/>${wordDictionaryVo.id}"/><s:hidden id="wordImage_hidden" name="wordDictionaryVo.imageServerFileName" onpropertychange="valueChanged(this)"/><a href="#" id="uploadImage" name="wordImage">上傳圖片</a></td></tr><tr><td><label>英式音標(biāo):</label></td><td><s:textfield id="ukPhoneticSymbol" name="wordDictionaryVo.ukPhoneticSymbol"/></td></tr><tr><td><label>英式發(fā)音音標(biāo)分解:</label></td><td><s:textfield id="ukPhoneSplit" name="wordDictionaryVo.ukPhoneSplit"/></td></tr><tr><td><label>英式發(fā)音單詞分解:</label></td><td><s:textfield id="ukWordSplit" name="wordDictionaryVo.ukWordSplit"/></td></tr><tr><td><label>英式發(fā)音:</label></td><td><input id="ukspeaker" class="icon-button speaker" audioUrl="" audioType="mp3" type="button" style="display:none;"><s:hidden id="ukspeaker_hidden" name="wordDictionaryVo.ukAudioServerFileName"/><a href="#" id="uploadUKAudio" name="ukspeaker">上傳音頻</a></td></tr><tr><td><label>美式音標(biāo):</label></td><td><s:textfield id="usPhoneticSymbol" name="wordDictionaryVo.usPhoneticSymbol"/></td></tr><tr><td><label>美式發(fā)音音標(biāo)分解:</label></td><td><s:textfield id="usPhoneSplit" name="wordDictionaryVo.usPhoneSplit"/></td></tr><tr><td><label>美式發(fā)音單詞分解:</label></td><td><s:textfield id="usWordSplit" name="wordDictionaryVo.usWordSplit"/></td></tr><tr><td><label>美式發(fā)音:</label></td><td><input id="usspeaker" class="icon-button speaker" audioUrl="" audioType="mp3" type="button" style="display:none;"><s:hidden id="usspeaker_hidden" name="wordDictionaryVo.usAudioServerFileName"/><a href="#" id="uploadUSAudio" name="usspeaker">上傳音頻</a></td></tr><tr><td></td><td><input type="button" class="button" name="saveButton" value="保存" id="saveButton"/></td></tr></tbody></table></div></form>


Action XML配置

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"> <struts><package name="worddictionary" namespace="/worddictionary" extends="web-default"><!-- 到編輯單詞主頁(yè)--><action name="editWordDictionary" class="newWordDictionaryAction" method="editWordDictionary"><result name="success" type="tiles">editWordDictionary</result></action><!--根據(jù)id獲取圖片--><action name="getImageById" class="newWordDictionaryAction" method="getImageById"><result name="success" type="stream"> <param name="contentType">image/jpeg</param> <param name="inputName">imageStream</param> <param name="bufferSize">2048</param> </result></action><!-- 根據(jù)單詞或詞組查詢字典--><action name="getWordDictionaryByWord" class="newWordDictionaryAction" method="getWordDictionaryByWord"><result name="ajax" type="json"><param name="include">wordDictionaryVo</param></result></action><!-- 保存單詞或詞組到字典--><action name="saveWordDictionary" class="newWordDictionaryAction" method="saveWordDictionary"><result name="ajax" type="jsonmessage"><param name="message">message</param></result></action><!-- 上傳圖片到server彈出頁(yè)面--><action name="uploadImageDialog" class="newWordDictionaryAction" method="uploadImageDialog"><result name="success" type="tiles">uploadImageDialog</result></action><!-- 保存單詞或詞組到字典--><action name="uploadImageByAjax" class="newWordDictionaryAction" method="uploadImageByAjax"><result name="ajax" type="jsonmessage"><param name="message">message</param></result></action><!-- 上傳音頻到server彈出頁(yè)面--><action name="uploadAudioDialog" class="newWordDictionaryAction" method="uploadAudioDialog"><result name="success" type="tiles">uploadAudioDialog</result></action><!-- 上傳音頻--><action name="uploadAudioByAjax" class="newWordDictionaryAction" method="uploadAudioByAjax"><result name="ajax" type="jsonmessage"><param name="message">message</param></result></action><!-- 根據(jù)ID和國(guó)家獲取音頻--><action name="getAudioByIdAndCountry" class="newWordDictionaryAction" method="getAudioByIdAndCountry"><result name="success" type="stream"> <param name="contentType">audio/mp3</param> <param name="inputName">audioStream</param> <param name="bufferSize">2048</param> </result></action><!-- 根據(jù)Server端的文件獲取音頻--><action name="getAudioByFileName" class="newWordDictionaryAction" method="getAudioByFileName"><result name="success" type="stream"> <param name="contentType">audio/mp3</param> <param name="inputName">audioStream</param> <param name="bufferSize">2048</param> </result></action></package> </struts>
Action類

package com.wisemen.hhb.module.worddictionary.action;import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; import org.apache.commons.io.FileUtils; import com.wisemen.framework.server.action.BaseAction; import com.wisemen.framework.server.exception.ActionException; import com.wisemen.framework.util.StringUtils; import com.wisemen.hhb.module.base.domain.WordDictionary; import com.wisemen.hhb.module.base.vo.WordDictionaryVo; import com.wisemen.hhb.module.worddictionary.biz.IWordDictionaryBiz; import com.wisemen.hhb.module.worddictionary.util.WordDictionaryUtil;public class WordDictionaryAction extends BaseAction {private static final long serialVersionUID = 1L;private static final String DEFAULT_WORD_IMG_PATH="images/word_default.png";private static final String COUNTRY_UK = "uk";private static final String COUNTRY_US = "us";/*** 字典ID*/private String id;/*** 單詞或詞組*/private String word;/*** 字典Biz*/private IWordDictionaryBiz wordDictionaryBiz;/**rtmp服務(wù)器地址*/private String rtmpServerUrl;private ByteArrayInputStream imageStream;private ByteArrayInputStream audioStream;private Boolean useDefault = true;private WordDictionaryVo wordDictionaryVo;/**上傳的圖片文件*/private File file;/**文件名*/private String fileFileName;private String countryType;/*** 保存在Server端,音頻的文件名*/private String audioServerFileName;//------------------------------get/set--------------------------public String getId() {return id;}public void setId(String id) {this.id = id;}public String getWord() {return word;}public void setWord(String word) {this.word = word;}public IWordDictionaryBiz getWordDictionaryBiz() {return wordDictionaryBiz;}public void setWordDictionaryBiz(IWordDictionaryBiz wordDictionaryBiz) {this.wordDictionaryBiz = wordDictionaryBiz;}public String getRtmpServerUrl() {return rtmpServerUrl;}public void setRtmpServerUrl(String rtmpServerUrl) {this.rtmpServerUrl = rtmpServerUrl;}public ByteArrayInputStream getImageStream() {return imageStream;}public void setImageStream(ByteArrayInputStream imageStream) {this.imageStream = imageStream;}public Boolean getUseDefault() {return useDefault;}public void setUseDefault(Boolean useDefault) {this.useDefault = useDefault;}public WordDictionaryVo getWordDictionaryVo() {return wordDictionaryVo;}public void setWordDictionaryVo(WordDictionaryVo wordDictionaryVo) {this.wordDictionaryVo = wordDictionaryVo;}public File getFile() {return file;}public void setFile(File file) {this.file = file;}public String getFileFileName() {return fileFileName;}public void setFileFileName(String fileFileName) {this.fileFileName = fileFileName;}public ByteArrayInputStream getAudioStream() {return audioStream;}public void setAudioStream(ByteArrayInputStream audioStream) {this.audioStream = audioStream;}public String getCountryType() {return countryType;}public void setCountryType(String countryType) {this.countryType = countryType;}public String getAudioServerFileName() {return audioServerFileName;}public void setAudioServerFileName(String audioServerFileName) {this.audioServerFileName = audioServerFileName;}//------------------------------get/set--------------------------/*** 進(jìn)入單詞編輯頁(yè)*/public String editWordDictionary(){return SUCCESS;}/*** * <p>Description:字典的圖片</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String getImageById(){boolean useDefaultImage = false;WordDictionary wordDictionary = null;logger.debug("id is "+id);//判斷id是否為空if(StringUtils.isEmpty(id)){useDefaultImage = true;}else{wordDictionary = wordDictionaryBiz.getWordDictionaryById(id);}if(null == wordDictionary || null == wordDictionary.getImage() ){useDefaultImage = true;}if(useDefaultImage == true && useDefault == true){String path = request.getSession().getServletContext().getRealPath("/");String imagePath = path + DEFAULT_WORD_IMG_PATH;logger.debug("default word imagePath : " + imagePath);try {imageStream = new ByteArrayInputStream(FileUtils.readFileToByteArray(new File(imagePath)));} catch (IOException e) {e.printStackTrace();}} else {imageStream = new ByteArrayInputStream(wordDictionary.getImage());}return SUCCESS;}/*** * <p>Description:通過單詞獲取字典對(duì)象</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String getWordDictionaryByWord(){wordDictionaryVo = wordDictionaryBiz.getWordDictionaryByWord(word);return AJAX_RETURN_TYPE;}/*** * <p>Description:保存單詞到字典</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String saveWordDictionary(){boolean saveSuccess = true;String errorMsg = "";try{String contextPath = request.getSession().getServletContext().getRealPath("/");wordDictionaryBiz.saveWordDictionary(wordDictionaryVo, contextPath);}catch( Exception e){logger.error( "保存詞典錯(cuò)誤:" + e.getMessage() );saveSuccess = false;errorMsg = e.getMessage() ;}Map<String, Object> jsonMap = new HashMap<String,Object>();jsonMap.put("saveSuccess", saveSuccess);jsonMap.put("errorMsg", errorMsg);message = JSONObject.fromObject(jsonMap).toString();return AJAX_RETURN_TYPE;}/*** * <p>Description:上傳圖片對(duì)話框</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String uploadImageDialog(){return SUCCESS;}/*** 異步上傳圖片文件到Server* @return* @author ShiJiapeng* @throws IOException */public String uploadImageByAjax() throws IOException{JSONObject json = new JSONObject();if(file == null || file.length() <= 0 || StringUtils.isEmpty(fileFileName)){json.put("success", false);json.put("message", "文件為空,請(qǐng)重新上傳");message = json.toString();return AJAX_RETURN_TYPE; }//獲取文件后綴名String contextPath = request.getSession().getServletContext().getRealPath("/");String tempFileName = WordDictionaryUtil.createTempFileName(fileFileName);try{FileUtils.copyFile(file, new File(contextPath+ WordDictionaryUtil.TEMP_IMAGES_PATH+tempFileName));}catch( Exception e){logger.error( "上傳圖片錯(cuò)誤:" + e.getMessage() );json.put("success", false);json.put("errorMsg", e.getMessage());message = json.toString();return AJAX_RETURN_TYPE;}json.put("success", true);json.put("imageName", tempFileName);message = json.toString();//防止IE下變成下載文件super.getServletResponse().setContentType("text/html");super.getServletResponse().getWriter().write(message);return null;}/*** * <p>Description:上傳圖片對(duì)話框</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String uploadAudioDialog(){return SUCCESS;}/*** * <p>Description:異步上傳音頻文件到Server</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String uploadAudioByAjax() throws IOException{JSONObject json = new JSONObject();if(file == null || file.length() <= 0 || StringUtils.isEmpty(fileFileName)){json.put("success", false);json.put("message", "文件為空,請(qǐng)重新上傳");message = json.toString();return AJAX_RETURN_TYPE; }//獲取文件名String contextPath = request.getSession().getServletContext().getRealPath("/");String tempFileName = WordDictionaryUtil.createTempFileName(fileFileName);try{FileUtils.copyFile(file, new File(contextPath+ WordDictionaryUtil.TEMP_AUDIOS_PATH+tempFileName));}catch( Exception e){logger.error( "上傳音頻錯(cuò)誤:" + e.getMessage() );json.put("success", false);json.put("errorMsg", e.getMessage());message = json.toString();return AJAX_RETURN_TYPE;}json.put("success", true);json.put("audioName", tempFileName);message = json.toString();logger.debug("message = " + message);//防止IE下變成下載文件super.getServletResponse().setContentType("text/html");super.getServletResponse().getWriter().write(message);return null;}/*** * <p>Description:根據(jù)ID和[英式]or[美式]返回音頻</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String getAudioByIdAndCountry(){WordDictionary wordDictionary = null;if( StringUtils.isEmpty(id) || StringUtils.isEmpty(countryType) ){throw new ActionException("args error.");}wordDictionary = wordDictionaryBiz.getWordDictionaryById(id);if(null == wordDictionary){audioStream = new ByteArrayInputStream(new byte[0]);}else{byte[] audioByteArray = null;if( COUNTRY_UK.equals(countryType) ){audioByteArray = wordDictionary.getUkAudioFile();if( audioByteArray == null ){audioStream = new ByteArrayInputStream(new byte[0]);}else{audioStream = new ByteArrayInputStream(audioByteArray);}}else if( COUNTRY_US.equals(countryType) ){audioByteArray = wordDictionary.getUsAudioFile();if( audioByteArray == null ){audioStream = new ByteArrayInputStream(new byte[0]);}else{audioStream = new ByteArrayInputStream(audioByteArray);}}else{throw new ActionException("countryType=" + countryType +", error.");}}return SUCCESS;}/*** * <p>Description:根據(jù)Server端的音頻文件,返回音頻</p>* <p>Paramenter:</p>* <p>Return:</p>* <p>Exception:</p>* <p>Modified History: </p>*/public String getAudioByFileName(){if( StringUtils.isEmpty(audioServerFileName) ){throw new ActionException("args error.");}String contextPath = request.getSession().getServletContext().getRealPath("/");try {byte[] audioByteArray = FileUtils.readFileToByteArray( new File(contextPath+ WordDictionaryUtil.TEMP_AUDIOS_PATH +audioServerFileName) );audioStream = new ByteArrayInputStream(audioByteArray);} catch (IOException e) {audioStream = new ByteArrayInputStream(new byte[0]);}return SUCCESS;} }
==========================================

圖片上傳彈出框jsp

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%> <%@ include file="/common/taglibs.jsp"%> <script language="javascript" type="text/javascript" src="<c:url value='/plugin/artDialog4.1.7/jquery.artDialog.js?skin=simple'/>"></script> <script language="javascript" type="text/javascript" src="<c:url value='/plugin/artDialog4.1.7/plugins/iframeTools.js'/>"></script> <script language= javascript type= text/javascript src="<c:url value='/default/scripts/jquery.form.js'/>" ></script><script type="text/javascript">$(document).ready(function(){var win = art.dialog.opener;//來源頁(yè)面if (art.dialog.data('name')) {name=art.dialog.data('name');// 獲取由主頁(yè)面?zhèn)鬟f過來的數(shù)據(jù)};//上傳圖像$("#uploadbtn").click(function(){var filePath = $('#file').val();if(filePath==null || filePath== ''){alert('請(qǐng)選擇要上傳的文件');return;}else{var tempArray = filePath.split('\\');var index = tempArray.length-1;if(tempArray[index].length > 300){alert('文件名過長(zhǎng),請(qǐng)修改后重新上傳');return;}}$('#uploadbtn').attr("disabled",true);$('#uploadbtn').attr("value","上傳中...");$('#uploadForm').ajaxSubmit({ dataType: "json",success: function (data){var imageName = data.imageName;if(imageName !=""){win.changeImage(name,imageName);art.dialog.close();}else{alert("上傳失敗,請(qǐng)重新上傳");}$('#uploadbtn').attr("disabled",false);$('#uploadbtn').attr("value","上傳");}});});$("#cancel").click(function(){art.dialog.close();});});</script> <form id="uploadForm" action="<s:url value='/worddictionary/uploadImageByAjax.action'/>" method="post" enctype="multipart/form-data"><div style="text-align: center;margin-top: 20px;width: 100%;"><s:file name="file" size="20" accept="image/*" value="上傳文件"></s:file> </div><div style="text-align: center;margin-top: 20px;width: 100%;" ><span>支持上傳jpg、gif、png、bmp格式的圖片,大小不超過4M </span></div> </form> <div style="width: 100%;text-align: right;margin-top: 20px;"><input id="uploadbtn" type="button" class="button" value="上傳" ><input id="cancel" type="button" class="button" value="取消" style="margin-right:20px;"> </div>

音頻上傳彈出框jsp

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%> <%@ include file="/common/taglibs.jsp"%> <script language="javascript" type="text/javascript" src="<c:url value='/plugin/artDialog4.1.7/jquery.artDialog.js?skin=simple'/>"></script> <script language="javascript" type="text/javascript" src="<c:url value='/plugin/artDialog4.1.7/plugins/iframeTools.js'/>"></script> <script language= javascript type= text/javascript src="<c:url value='/default/scripts/jquery.form.js'/>" ></script><script type="text/javascript"> //選擇上傳文件后回調(diào) $.onFileSelected = function(file){var filePath = $(file).val();if(filePath==null || filePath== ''){alert('請(qǐng)選擇要上傳的音頻文件');return;}/**var speaker = $(file).nextAll(".speaker");var info = $(file).next("span");info.text("上傳中...");$(file).parents("form").ajaxSubmit({dataType: "json",success: function (data){if (data.success) {var audioId = data.audioId;var audioType = data.audioType;var audioName = data.audioName;info.text("");speaker.attr("audioId", audioId);speaker.attr("audioType", audioType);speaker.css("visibility", "visible");} else {info.text("上傳失敗,請(qǐng)重新上傳");}}});**/ };$(document).ready(function(){var win = art.dialog.opener;//來源頁(yè)面if (art.dialog.data('name')) {name=art.dialog.data('name');// 獲取由主頁(yè)面?zhèn)鬟f過來的數(shù)據(jù)};//上傳圖像$("#uploadbtn").click(function(){var filePath = $('#file').val();if(filePath==null || filePath== ''){alert('請(qǐng)選擇要上傳的文件');return;}else{var tempArray = filePath.split('\\');var index = tempArray.length-1;if(tempArray[index].length > 300){alert('文件名過長(zhǎng),請(qǐng)修改后重新上傳');return;}}$('#uploadbtn').attr("disabled",true);$('#uploadbtn').attr("value","上傳中...");$('#uploadForm').ajaxSubmit({ dataType: "json",success: function (data){var audioName = data.audioName;if(audioName !=""){win.changeAudio(name,audioName);art.dialog.close();}else{alert("上傳失敗,請(qǐng)重新上傳");}$('#uploadbtn').attr("disabled",false);$('#uploadbtn').attr("value","上傳");}});});$("#cancel").click(function(){art.dialog.close();});});</script> <form id="uploadForm" action="<s:url value='/worddictionary/uploadAudioByAjax.action'/>" method="post" enctype="multipart/form-data"><div style="text-align: center;margin-top: 20px;width: 100%;"><input id="file" name="file" accept="audio/mp3" type="file" οnchange="$.onFileSelected(this)"></div><div style="text-align: center;margin-top: 20px;width: 100%;" ><span>支持上傳mp3格式的音頻,大小不超過4M </span></div> </form><div style="width: 100%;text-align: right;margin-top: 20px;"><input id="uploadbtn" type="button" class="button" value="上傳" ><input id="cancel" type="button" class="button" value="取消" style="margin-right:20px;"> </div>




總結(jié)

以上是生活随笔為你收集整理的上传图片和音频到Server,再转存到DB的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。