星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
開發的時候需要使用jquery.fileupload外掛,那麼如何在struts中使用呢
需要的css樣式和js檔案
jsp頁面資訊如下,整個頁面資訊
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" import="java.io.*"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta
content="initial-scale=1.0,user-scalable=no, minimum-scale=1,maximum-scale=1,width=device-width"
name="viewport">
<link rel="stylesheet" href="css/font-icons.css">
<link rel="stylesheet" href="css/global.css?t=10">
<script type="text/javascript" src="js/zepto.min.js"></script>
<script type="text/javascript" src="js/globe.js?t=10"></script>
<title>上傳圖片</title>
<link rel="stylesheet" href="css/order.css?t=1">
<link rel="stylesheet" href="css/list.css">
<script type="text/javascript" src="js/login.js"></script>
<link rel="stylesheet" href="uploadimg/css/bootstrap.min.css">
<link rel="stylesheet" href="uploadimg/css/jquery.fileupload.css">
</head>
<body>
<div id="wrapper5">
<div id="scroller">
<script type="text/javascript" src="js/header.js"></script>
<a name="top" id="top"></a>
<div>
</div>
</div>
</div>
<div id="uploadFileIOS">
<span class="btn btn-success fileinput-button"> <span>檔案上傳</span> <input
id="fileupload" type="file" name="file" multiple> </span>
<div style="height: 30px;"></div>
<div id="files"></div>
</div>
<script src="js/jquery-1.10.1.min.js">
</script>
<script src="uploadimg/js/jquery.ui.widget.js">
</script>
<script src="uploadimg/js/load-image.all.min.js">
</script>
<script src="uploadimg/js/bootstrap.min.js">
</script>
<script src="uploadimg/js/jquery.iframe-transport.js">
</script>
<script src="uploadimg/js/jquery.fileupload.js">
</script>
<script src="uploadimg/js/jquery.fileupload-process.js">
</script>
<script src="uploadimg/js/jquery.fileupload-image.js">
</script>
<script src="uploadimg/js/jquery.fileupload-audio.js">
</script>
<script src="uploadimg/js/jquery.fileupload-video.js">
</script>
<script src="uploadimg/js/jquery.fileupload-validate.js">
</script>
<script>
/*global window, $ */
$(function() {
'use strict';
var url = window.location.hostname == 'blueimp.github.io' ? '//jquery-file-upload.appspot.com/'
: 'user.action?methods=editimg', uploadButton = $('<button/>')
.addClass('btn btn-primary').prop('disabled', true).text(
'Processing...').on('click', function() {
var $this = $(this), data = $this.data();
$this.off('click').text('正在上傳').on('click', function() {
$this.remove();
data.abort();
});
data.submit().always(function() {
$this.remove();
});
});
$('#fileupload').fileupload({
url : url,
dataType : 'json',
autoUpload : false,
acceptFileTypes : /(.|/)(gif|jpe?g|png)$/i,
maxFileSize : 5000000, // 5 MB
disableImageResize : /Android(?!.*Chrome)|Opera/
.test(window.navigator.userAgent),
previewMaxWidth : 100,
previewMaxHeight : 100,
previewCrop : true
}).on(
'fileuploadadd',
function(e, data) {
data.context = $('<div/>').appendTo('#files');
$.each(data.files, function(index, file) {
var node = $('<p/>').append(
$('<span/>').text(file.name));
if (!index) {
node.append('<br>').append(
uploadButton.clone(true).data(data));
}
node.appendTo(data.context);
});
}).on('fileuploadprocessalways',function(e, data) {
var index = data.index, file = data.files[index], node = $(data.context.children()[index]);
if (file.preview) {
node.prepend('<br>').prepend(file.preview);
}
if (file.error) {
node.append('<br>').append(
$('<span/>').text(
file.error));
}
if (index + 1 === data.files.length) {
data.context.find('button').text('上傳').prop(
'disabled', !!data.files.error);
}
}).on('fileuploadprogressall', function(e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css('width', progress + '%');
}).on('fileuploaddone',function(e, data) {
var result = data.result.code;
if(result=='1'){
globe.lvToast(false, "影象上傳成功!", LT_LOADING_CLOSE);
setTimeout(function() {
//window.location.href = "index.action";
}, 2000);
}else{
globe.lvToast(false, data.msg, LT_LOADING_CLOSE);
}
}).on('fileuploadfail',
function(e, data) {
globe.lvToast(false, '頭像上傳失敗', LT_LOADING_CLOSE);
}).prop('disabled', !$.support.fileInput).parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
</body>
</html>
這裡特別注意檔名稱,容易出錯的地方
後台處理上傳圖片的方法,使用的是struts2處理
對應前端的檔名name="file"
struts2已經處理了請求,我們之間用就可以了
public String saveattach() {
try {
BufferedImage bi = ImageIO.read(file);
if (bi == null) {
return "0";
}
} catch (IOException e) {
return "0";
}
String realpath = ServletActionContext.getServletContext().getRealPath("/images/");
if (!new File(realpath).exists()) {
new File(realpath).mkdir();
}
String[] typechoose = fileFileName.split(".");
int ichoose = typechoose.length;
String type = ichoose > 1 ? typechoose[ichoose - 1] : "";
if (type.toLowerCase().equals("jpg")
|| type.toLowerCase().equals("gif")
|| type.toLowerCase().equals("jpeg")
|| type.toLowerCase().equals("png")) {
SimpleDateFormat smat = new SimpleDateFormat("yyyyMMddHHmmss");
String newfilname = smat.format(new Date()) + "." + type;
String path = realpath + "/" + newfilname;
FileUtil.saveFile(path, file);
return "/images/touxiang/"+newfilname;
} else {
return "0";
}
}
其中saveFile方法程式碼如下
public static void saveFile(String savePath, File upload) {
try {
InputStream in = null;
OutputStream out = null;
in = new FileInputStream(upload);
out = new FileOutputStream(savePath);
int readed = 0;
byte[] buffer = new byte[1024];
while ((readed = in.read(buffer, 0, 1024)) != -1) {
out.write(buffer, 0, readed);
}
out.flush();
out.close();
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
實現效果如下
相關文章
星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
我們經常會玩決勝時刻戰區遊戲,但是有很多朋友不知道決勝時刻戰區國際服註冊方法,下面就詳細說下決勝時刻戰區國際服註冊方法。1首先我們開啟自己電腦中的瀏覽器,比如360瀏覽器
2020-11-29 16:08:59
決勝時刻黑色行動4的應用獲取的方法。1準備好網路的網速,開啟瀏覽器的頁面。 2決勝時刻黑色行動4將其輸入到搜尋頁中,點選搜尋。 3選擇圖中展示的決勝時刻黑色行動4中文版網頁
2020-11-29 16:06:30
決勝時刻是一個很好玩的遊戲,但是安裝過程比較困難,下面小編和你分享一下經驗! 1一般有很多個壓縮檔案的那種,任意解壓一個壓縮包之後會生成一個映象用虛擬光碟機載入,之後按用光
2020-11-29 10:07:32
小編教你決勝時刻9BO2.怎麼安裝,希望你的生活多姿多彩~ 1首先,你買的基本可以確定,是盜版,或者說所謂的偽正版——同學,多去steam吧或者戰地3吧看一看,會提高你對盜版/偽正版的鑑
2020-11-29 05:49:58
目前很多決勝時刻的玩家都在找版本10的中文版,其實現在正版的當中還沒有中文,退而求其次吧,小編這裡分享一些貼圖大家參考一下 1基礎選單,直接看圖片吧 2基礎選單,直接看圖片吧 3
2020-11-29 05:29:49