使用java ssh框架 利用Uploadify做上传功能,后台action里该怎么写,请写出具体代码 50

 我来答
godress2012
2013-10-30 · 超过11用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:22.1万
展开全部
Uploadify 是一个比较坑的东西,得用servlet, web.xml里配置 然后servlet接收
<servlet>
<servlet-name>upload</servlet-name>
<servlet-class>com.action.upload</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>upload</servlet-name>
<url-pattern>/upload/FileUploadServlet</url-pattern>
</servlet-mapping>
servlet里代码

public void doGetAndPost(HttpServletRequest request,
HttpServletResponse response){

try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e) {
logger.error("后台添加图片,request设置编码符失败! {}",e.getMessage());
}
DiskFileItemFactory fac = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(fac);

upload.setHeaderEncoding("utf-8");

List fileList = null;

try {
fileList = upload.parseRequest(request);
} catch (FileUploadException ex) {
ex.printStackTrace();
return;
}
String imageName = null;
Iterator<FileItem> it = fileList.iterator();

while (it.hasNext()) {

FileItem item = it.next();

if (!item.isFormField()) {
Random r = new Random();
int rannum = (int) (r.nextDouble() * (9999 - 1000 + 1)) + 1000;
imageName=getNowStrDate() + rannum;

FileBean fileBean = new FileBean();
fileBean.setFileName(item.getName());
fileBean.setFileExtension(item.getName().substring(item.getName().indexOf(".")+1));
FileBean flbn;
try {
//文件服务器处理上传图片
flbn = FastDFSUtil.upload(fileBean, item.getInputStream());
} catch (IOException e) {
logger.info("添加图片,上传文件服务器失败!",e);
}

}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丿唐伯虎丶蚊香
推荐于2018-04-23
知道答主
回答量:16
采纳率:100%
帮助的人:4.6万
展开全部
package com.pinyi.web.manage;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Random;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.web.servlet.ModelAndView;

import com.pinyi.web.AbstractAction;

public class TestJqueryUpLoad extends AbstractAction {

@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
System.out.println("进来了");
System.out.println(request.getParameter("Filedata"));
try {
// 上传文件的临时目录
String temp=request.getParameter("folder");
System.out.println(temp);
String tempDir = request.getSession().getServletContext()
.getRealPath("uploads");
File tFile = new File(tempDir);
if (!tFile.exists())
tFile.mkdir();
// 创建缓冲区
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置缓冲区大小 1*1024*1024 设置1Mb
factory.setSizeThreshold(1 * 1024 * 1024);
// 设置缓冲临时目录
factory.setRepository(new File(tempDir));
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置编码
upload.setHeaderEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
// 设置文件最大值,这里设置5Mb,5*1024*1024;
upload.setSizeMax(5 * 1024 * 1024);
FileItemIterator fileItem = upload.getItemIterator(request); // 得到所有的文件
while (fileItem.hasNext()) {//根本没进来
FileItemStream fi = fileItem.next(); // 获得文件流
if (!fi.isFormField() && fi.getName().length() > 0) { // 过滤非文件域

String fileName = fi.getName(); // 获取文件名称
String fName = tempDir + "\\" + fileName; // 文件最终存放目录
File file = new File(fName);
FileOutputStream out = new FileOutputStream(file);
out.write(fi.toString().getBytes());
out.flush();
out.close();
}
}
Random r = new Random(10);
response.getWriter().write("" + r.nextInt());
} catch (Exception e) {
System.out.println(e.getMessage());
}
return null;
}

}
更多追问追答
追问
你刚写的?
追答
不是! 以前写过 我用的是ssm框架一样的!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式