function check() {
if ($.trim($("#name").val()).length == 0) {
alert(i18n_noBookName);
return false;
}
if ($("#defaultUrl").attr("checked")) {
$("#bookCoverUrl").attr("value", "../bookImg/default/book_default.png");
}
$("#publish").submit();
}
function checkName() {
if ($.trim($("#name").val()).length == 0) {
$("#noBookName").show();
}
if ($.trim($("#name").val()).length != 0) {
$("#noBookName").hide();
}
}
function clickUpload() {
var coverUrl = document.getElementById("coverUrl");
coverUrl.click();
}
function choosePic(file) {
if (file == null || file == "") {
alert(i18n_noFile);
return false;
}
if (file.lastIndexOf(".") == -1) {
alert(i18n_errorPath);
return false;
}
var allImgExt = ".jpg|.jpeg|.gif|.bmp|.png|";
var extName = file.substring(file.lastIndexOf("."));
if (allImgExt.indexOf(extName + "|") == -1) {
alert(i18n_formatError);
return false;
}
}
$(function() {
var allBoxs = $(":checkbox");
allBoxs.click(function() {
allBoxs.removeAttr("checked");
$(this).attr("checked", "checked");
});
});
function sure() {
var file = document.getElementById("coverUrl").value;
if (file == null || file == "") {
alert(i18n_noFile);
return false;
}
if (file.lastIndexOf(".") == -1) {
alert(i18n_errorPath);
return false;
}
var allImgExt = ".jpg|.jpeg|.gif|.bmp|.png|";
var extName = file.substring(file.lastIndexOf("."));
if (allImgExt.indexOf(extName + "|") == -1) {
alert(i18n_formatError);
return false;
}
$("#loading").ajaxStart(function() {
$(this).show();
})// 开始上传文件时显示一个图片
.ajaxComplete(function() {
$(this).hide();
});// 文件上传完成将图片隐藏起来
$.ajaxFileUpload( {
url : '../upload/upload.action',// 用于文件上传的服务器端请求地址
secureuri : false,// 一般设置为false
fileElementId : 'coverUrl',// 文件上传空间的id属性 <input type="file" id="file"
// name="file" />
dataType : 'json',// 返回值类型 一般设置为json
success : function(data, status) // 服务器成功响应处理函数
{
// console.log(data);
var dataObj = eval("(" + data + ")");
// alert(dataObj.path);
if (dataObj.info == "success") {
$("#uploadPic").attr("src", dataObj.path);
$("#bookCoverUrl").attr("value", dataObj.path);
} else if (dataObj.info == "to big") {
alert(i18n_fileTooBig);
} else if (dataObj.info == "upload fail") {
alert(i18n_uploadFail);
}
},
error : function(data, status, e)// 服务器响应失败处理函数
{
alert(e);
}
});
return false;
}
<?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="upload" namespace="/upload" extends="json-default">
<action name="upload" class="uploadAction" method="uploadPic">
<result type="json" name="success">
<param name="contentType">
text/html
</param>
<param name="root">result</param>
</result>
<result type="json" name="error">
<param name="contentType">
text/html
</param>
<param name="root">result</param>
</result>
</action>
</package>
</struts>
package com.augmentum.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import net.sf.json.JSONObject;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private File coverUrl;
private String coverUrlFileName;
private String coverUrlFileContentType;
private String result;
public String uploadPic() throws Exception {
Long pathPre = System.currentTimeMillis();
String path = ServletActionContext.getServletContext().getRealPath(
"/bookImg/users");
JSONObject jsonObj = new JSONObject();
try {
File f = this.getCoverUrl();
FileInputStream inputStream = new FileInputStream(f);
FileOutputStream outputStream = new FileOutputStream(path + "/"
+ "/" + pathPre + this.getCoverUrlFileName());
if (inputStream.available() >= 2097152) {
// if the picture size bigger than 10701096
jsonObj.put("info", "to big");
result = jsonObj.toString();
return ERROR;
}
byte[] buf = new byte[1024];
int length = 0;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
inputStream.close();
outputStream.flush();
} catch (Exception e) {
e.printStackTrace();
jsonObj.put("info", "upload fail");
result = jsonObj.toString();
return ERROR;
}
jsonObj.put("path", "../bookImg/users/" + "/" + pathPre
+ coverUrlFileName);
jsonObj.put("info", "success");
result = jsonObj.toString();
return SUCCESS;
}
public File getCoverUrl() {
return coverUrl;
}
public void setCoverUrl(File coverUrl) {
this.coverUrl = coverUrl;
}
public String getCoverUrlFileName() {
return coverUrlFileName;
}
public void setCoverUrlFileName(String coverUrlFileName) {
this.coverUrlFileName = coverUrlFileName;
}
public String getCoverUrlFileContentType() {
return coverUrlFileContentType;
}
public void setCoverUrlFileContentType(String coverUrlFileContentType) {
this.coverUrlFileContentType = coverUrlFileContentType;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
}
int allRow = this.getUserInfo(id).getBooks().size();
int totalPage = PageDTO.countTotalPage(allRow, pageSize);
PageDTO pageDTO = new PageDTO();
pageDTO.setPageSize(pageSize);
pageDTO.setTotalPage(totalPage);
pageDTO.setCurrentPage(currentPage);
pageDTO.setAllRow(allRow);
pageDTO.setNextPage(currentPage + 1);
pageDTO.setPreviousPage(currentPage - 1);
int offset = PageDTO.countOffset(pageDTO.getCurrentPage(), pageSize);
List<Book> books = null;
String hql = "FROM Book b WHERE b.user.id=" + id
+ " ORDER BY uploadTime desc";
try {
books = bookDao.queryForPage(hql, offset, pageSize);
if (null == books) {
throw new UserServiceException("no book");
}
} catch (DataAccessException e) {
e.printStackTrace();
throw new UserServiceException("query error!");
}
pageDTO.setData(books);
pageDTO.init();
return pageDTO;
分享到:
相关推荐
React JSSS React JSSS 是基于 JavaScript 的组件样式器,其灵感来自和 。安装$ npm install react-jsss用法使用 JavaScript 定义样式: var ReactJsss = require ( 'react-jsss' )var styles = ReactJsss ( { color...
gulp-jsss 将 jsss 编译为 CSS 用法 var gulp = require ( 'gulp' ) ; var concat = require ( 'gulp-concat' ) ; var jsss = require ( 'gulp-jsss' ) ; gulp . task ( 'jsss' , function ( ) { return gulp . ...
scrambles 益智游戏具有以下功能: 马尔可夫随机状态(MRSS),使用符合WCA标准的高质量随机性。 简单一致的API。 自动Web工作人员,以避免减慢Web应用程序的速度。 与浏览器和node (CommonJS或ESM /模块)的...
此外,Netscape的JSSS并未得到W3C认可,而IE4的模型已纳入DHTML标准。 掌握CSS的基础知识,包括选择器、属性、优先级以及语法,是成为网页设计者的关键步骤。随着CSS3的推出,更多的布局方式(如Flexbox和Grid)、...
jUUU 〔8−1−5〕ISUIIIjjj3〔8−1−6〕jSSS 〔8−1−7〕ZUSZZZjjj2〔8−1−8〕 在短路电流计算中,需要计算系统元件的电抗标么值。电抗标么值的计算可以分为两部分:正序电抗的计算和负序电抗...
项目须知去做 创建一个包含所有实用程序的小型图书馆,用于启动项目 使用.d.ts的生成器添加scss模块类型[2021-03-31] 将Sass资源加载器添加到故事书[2021-03-31] 将sass资源加载器添加到NextJS [2021-03-30] 修改...
使用Pytorch的并行WaveGAN...)提供JSSS配方! 2020/08/19可以使用ESPnet2进行实时演示! 2020/05/29提供VCTK,JSUT和CSMSC多频段MelGAN预训练模型! 2020/05/27推出新的LJSpeech多频段MelGAN预训练模型! 2020/05/24 L
《IEEE JSSC论文(1月)》是一个包含2011年2、3月间在国际知名期刊IEEE Journal of Solid-State Circuits (JSSC)发表的论文集合。这本期刊是电子工程领域,尤其是固态电路设计的顶级出版物,汇集了全球顶尖科研人员...
iTween是一个,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等
### Unity for iOS:发布iOS应用文档教程与AR增强现实 #### Unity发布iOS App教程概览 Unity是一款功能强大的跨平台游戏引擎,支持多种操作系统和设备。对于iOS平台的应用开发而言,Unity提供了一套完整的解决方案...