EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx

上传人:b****5 文档编号:20048918 上传时间:2023-01-16 格式:DOCX 页数:25 大小:29.86KB
下载 相关 举报
EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx_第1页
第1页 / 共25页
EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx_第2页
第2页 / 共25页
EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx_第3页
第3页 / 共25页
EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx_第4页
第4页 / 共25页
EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx

《EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx》由会员分享,可在线阅读,更多相关《EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx(25页珍藏版)》请在冰豆网上搜索。

EXTJS配合Struts2的图片上传可预览例子代码Word格式.docx

ServletResponseAware 

15. 

private 

static 

final 

long 

serialVersionUID 

-1513311332990213727L;

16. 

17. 

protected 

HttpServletResponse 

response;

18. 

19. 

HttpServletRequest 

request;

20. 

21. 

public 

void 

setServletRequest(HttpServletRequest 

request) 

22. 

this.request 

23. 

24. 

25. 

setServletResponse(HttpServletResponse 

response) 

26. 

this.response 

27. 

28. 

29. 

Account 

getUser(HttpServletRequest 

request){ 

30. 

return 

(Account)request.getSession().getAttribute("

user"

);

31. 

32. 

33. 

setUser(HttpServletRequest 

request, 

account){ 

34. 

request.getSession().setAttribute("

 

account);

35. 

36. 

37. 

destroyUser(HttpServletRequest 

38. 

request.getSession().removeAttribute("

39. 

40. 

41.} 

package.ajaxbear.action;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importorg.apache.struts2.interceptor.ServletRequestAware;

importorg.apache.struts2.interceptor.ServletResponseAware;

import.ajaxbear.vo.Account;

importcom.opensymphony.xwork2.ActionSupport;

publicclassBaseActionextendsActionSupportimplementsServletRequestAware,

ServletResponseAware{

privatestaticfinallongserialVersionUID=-1513311332990213727L;

protectedHttpServletResponseresponse;

protectedHttpServletRequestrequest;

publicvoidsetServletRequest(HttpServletRequestrequest){

this.request=request;

}

publicvoidsetServletResponse(HttpServletResponseresponse){

this.response=response;

protectedAccountgetUser(HttpServletRequestrequest){

return(Account)request.getSession().getAttribute("

protectedvoidsetUser(HttpServletRequestrequest,Accountaccount){

request.getSession().setAttribute("

account);

protectedvoiddestroyUser(HttpServletRequestrequest){

request.getSession().removeAttribute("

}

然后我们新建一个Action,名字为UploadAction:

java.io.File;

java.io.FileInputStream;

5.import 

java.io.FileOutputStream;

java.util.UUID;

7. 

8.import 

org.apache.struts2.ServletActionContext;

9. 

10.import 

.ajaxbear.util.XResponse;

11. 

12.public 

UploadAction 

13. 

File 

upload;

String 

uploadContentType;

getUpload() 

setUpload(File 

upload) 

this.upload 

getUploadContentType() 

setUploadContentType(String 

uploadContentType) 

this.uploadContentType 

getUploadFileName() 

uploadFileName;

setUploadFileName(String 

uploadFileName) 

this.uploadFileName 

// 

上传文件的文件名 

41. 

42. 

43. 

getFileExp(String 

name){ 

44. 

int 

pos 

name.lastIndexOf("

."

45. 

46. 

name.substring(pos);

47. 

48. 

49. 

@Override 

50. 

execute() 

throws 

Exception 

51. 

//首先判断用户是否曾经上传过,如果上传过,则删掉原来的文件(这里我没考虑其他情况,考虑周全还要写一些代码) 

52. 

oldImageName 

request.getParameter("

oldImageName"

53. 

//如果存在则删除 

54. 

if 

(!

"

noImage"

.equalsIgnoreCase(oldImageName)) 

55. 

oldFile 

new 

File(ServletActionContext 

56. 

.getServletContext().getRealPath("

/"

) 

57. 

UploadImages"

File.separator+oldImageName);

58. 

oldFile.delete();

59. 

60. 

System.out.println(oldImageName);

61. 

//为用户新上传的图片新取一个名字 

62. 

newName 

UUID.randomUUID().toString();

63. 

//获取用户上传的图片格式 

64. 

exp 

getFileExp(uploadFileName);

65. 

//将文件写入文件夹 

66. 

FileOutputStream 

fos 

FileOutputStream(ServletActionContext 

67. 

68. 

File.separator 

newName+exp);

69. 

FileInputStream 

fis 

FileInputStream(upload);

70. 

byte[] 

buffer 

byte[10240];

71. 

len 

0;

72. 

total 

fis.available();

73. 

System.out.println("

文件大小为:

+total);

74. 

while 

((len 

fis.read(buffer)) 

>

0) 

75. 

fos.write(buffer, 

0, 

len);

76. 

fos.flush();

77. 

78. 

fis.close();

79. 

fos.close();

80. 

//返回图片名称(路径我是在前台写死了的),注意返回的contentType不能是text/json;

81. 

XResponse.sendMSG(response, 

{success 

:

true,msg:

'

+newName+exp+"

}"

"

text/html;

charset=utf-8"

82. 

NONE;

83. 

84.} 

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.util.UUID;

importorg.apache.struts2.ServletActionContext;

import.ajaxbear.util.XResponse;

publicclassUploadActionextendsBaseAction{

privateFileupload;

privateStringuploadContentType;

publicFilegetUpload(){

returnupload;

publicvoidsetUpload(Fileupload){

this.upload=upload;

publicStringgetUploadContentType(){

returnuploadContentType;

publicvoidsetUploadContentType(StringuploadContentType){

this.uploadContentType=uploadContentType;

publicStringgetUploadFileName(){

returnuploadFileName;

publicvoidsetUploadFileName(StringuploadFileName){

this.uploadFileName=uploadFileName;

//上传文件的文件名

privateStringuploadFileName;

privateStringgetFileExp(Stringname){

intpos=name.lastIndexOf("

returnname.substring(pos);

@Override

publicStringexecute()throwsException{

//首先判断用户是否曾经上传过,如果上传过,则删掉原来的文件(这里我没考虑其他情况,考虑周全还要写一些代码)

StringoldImageName=request.getParameter("

//如果存在则删除

if(!

.equalsIgnoreCase(oldImageName)){

FileoldFile=newFile(ServletActionContext

.getServletContext().getRealPath("

+"

+File.separator+oldImageName);

oldFile.delete();

}

System.out.println(oldImageName);

//为用户新上传的图片新取一个名字

StringnewName=UUID.randomUUID().toString();

//获取用户上传的图片格式

Stringexp=getFileExp(uploadFileName);

//将文件写入文件夹

FileOutputStreamfos=newFileOutputStream(ServletActionContext

+File.separator+newName+exp);

FileInputStreamfis=newFileInputStream(upload);

byte[]buffer=newbyte[10240];

intlen=0;

inttotal=fis.available();

System.out.println("

while((len=fis.read(buffer))>

0){

fos.write(buffer,0,len);

fos.flush();

fis.close();

fos.close();

//返回图片名称(路径我是在前台写死了的),注意返回的contentType不能是text/json;

XResponse.sendMSG(response,"

{success:

true,msg:

charset=utf-8"

returnNONE;

XResponse的代码:

.ajaxbear.util;

java.io.IOException;

4. 

6. 

mons.logging.Log;

mons.logging.LogFactory;

10.public 

XResponse 

XResponse() 

Log 

log 

LogFactory.getLog(XResponse.class);

sendMSG(HttpServletResponse 

response, 

Object 

jsonData, 

String... 

strings) 

(strings.length 

!

response.setContentType(strings[0]);

}else{ 

response.setContentType("

text/json;

try 

log.debug("

<

-----JSON:

jsonData.toString());

response.getWriter().write(jsonData.toString());

response.getWriter().flush();

catch 

(IOException 

e) 

log.error(e.getMessage());

e.printStackTrace();

};

32.} 

package.ajaxbear.util;

importjava.io.IOException;

importmons.logging.Log;

importmons.logging.LogFactory;

publicclassXResponse{

publicXResponse(){

protectedstaticfinalLoglog=LogFactory.getLog(XResponse.class

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1