单文件上传 | 学习笔记

简介: 快速学习单文件上传,介绍了单文件上传系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门单文件上传】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7319


单文件上传

 

Intercept 本来是拦截器,在这里做文件上传功能,需要 httpservletrequest 来获取,判断一下是不是媒体提交。

if(LOG, isDebugEnabled ()){

ActionProxy  proxy= invocation ,getProxy(); LOG. debug( getTexthessage (”struts, messages. bypass. request", new Object[]{proxy. Ge

}

这是打印信息

contenttype 是获取文件类型

filename 是获取文件的名字

通过输的名字加上 contenttype,还有 filename 这个会用到,value 就是表达域的名称,下一个是 getfiles 进去看的话,主要看获取文件的状态。

acceptedFiles . add(files[index]);这个判断它为空

acceptedContentTypes . add( contentType [index]);这个是获取文件类型

acceptedFileNames . add(fileName[index]);这个是获取文件名称

}

文件上传的代码:

private List(FileItem) parseRequest ( HttpServletRequest  sequest, String savebri) throw.

DiskFileItemFactory  fac=" createDiskFileItemFactory (saveDir);

ServletFileUp {oad upload=new  ServletFileUpload (fac);

upload. setSizeMax (maxSize);

return upload, parseRequest ( createRequestContext ( servletRequest ));

}

和之前的是一模一样的,直接用就可以了

<form action=”upload.action”method=”post”encype></form>

文件:

<input type="file"name="file"/>

<input type="submit"value="上传"/>

</form>

File 的名称和上传的域的名称相同,有一个 filefilename 是文件名,filecontenttype是文件类型

image.png

//文件名

private String  fileFileName ;

//文件的类型

private String  fileContentType ;

//上传

public String upload() throws  FileNotFoundException {

HttpServletRequest  request= ServletActionContext . getRequest ();

String path=request. getRealPath ("/upload");

InputStream  is=new  FileInputStream (file);

OutputStream os=new  File (path, fileFileName );

}

不需要单独引用拦截器,首先再桌面新建一个文件,点击提交之后,出现临时目录,

image.png 

但是临时目录可以配置,就配置到C盘,设置临时目录就额可以从大的里面去找,或者直接删掉错误的,结果显示报错,因为这个最大默认值是2097152,要想要再大的就得去设置,就必须引用拦截器,单独引用不好跑,原码里有参数,但是这些参数都可以设置,设置好之后,它默认是2兆,我们设置10兆,直接去计算一下,2*1024,20971520就是20兆了,之前的文件是9兆,提交之后还是错的,还有一个配值。

设置上传文件的最大大小必须大于等于 maximumsize,提交后就可以了。

相关文章
C#文件上传
C#文件上传
62 0
|
18天前
|
存储 PHP 文件存储
32 单文件上传
路老师分享PHP文件上传教程,涵盖配置php.ini、使用$_FILES变量和move_uploaded_file()函数等关键步骤,帮助你轻松实现单文件上传功能。纯干货,技术知识分享。
29 1
|
23天前
|
Java
smartupload文件上传!
使用 `smartupload.jar` 实现文件上传和下载。首先将 `smartupload.jar` 添加到项目中,然后创建上传页面,确保表单使用 `POST` 方法并设置 `enctype=&quot;multipart/form-data&quot;`。接着在服务器端通过 `SmartUpload` 对象处理文件上传,保存文件到指定目录,并获取表单中的其他数据。最后,实现文件下载功能,设置响应头以触发浏览器下载文件。
29 0
|
7月前
|
JSON 数据格式
文件上传~~
文件上传~~
47 0
|
4月前
|
前端开发 JavaScript 数据库
多个文件上传
多个文件上传
33 0
|
JavaScript 前端开发 移动开发
浅谈文件上传
浅谈文件上传
浅谈文件上传
|
存储 移动开发 JavaScript
|
安全 应用服务中间件 PHP
[SUCTF 2019]CheckIn(文件上传)
[SUCTF 2019]CheckIn(文件上传)
172 0
|
开发框架 安全 JavaScript
文件上传利用总结
文件上传利用总结
366 0