mvc文件上传下载源代码(aspnet mvc 上传文件)
admin 发布:2022-12-19 17:08 172
本篇文章给大家谈谈mvc文件上传下载源代码,以及aspnet mvc 上传文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
求SpringMVC大文件上传详解及实例代码
SpringMVC的文件上传非常简便,首先导入文件上传依赖的jar:
!-- 文件上传所依赖的jar包 --
dependency
groupIdcommons-fileupload/groupId
artifactIdcommons-fileupload/artifactId
version1.3.1/version
/dependency
在springMVC-servlet.xml配置文件中配置文件解析器:
!--1*1024*1024即1M resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常 --
!--文件上传解析器--
bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
property name="maxUploadSize" value="1048576"/
property name="defaultEncoding" value="UTF-8"/
property name="resolveLazily" value="true"/
/bean
注意解析器的id必须等于multipartResolver,否则上传会出现异常
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.File;
@Controller
public class FileController {
/**
* 上传单个文件操作
* MultipartFile file就是上传的文件
* @return
*/
@RequestMapping(value = "/upload1.html")
public String fileUpload1(@RequestParam("file") MultipartFile file) {
try {
//将上传的文件存在E:/upload/下
FileUtils.copyInputStreamToFile(file.getInputStream(), new File("E:/upload/",
file.getOriginalFilename()));
} catch (Exception e) {
e.printStackTrace();
}
//上传成功返回原来页面
return "/file.jsp";
}}
上传文件时,Controller的方法中参数类型是MultipartFile即可将文件映射到参数上。
页面:
file.jsp:
form method="post" action="/upload1.html" enctype="multipart/form-data"
input type="file" name="file"/
button type="submit" 提交/button
/form
用JSP(MVC模式)实现文件的打包下载功能
你的意思是将多个文件同时加载,我现在自己做了一个多文件同时上传的,但是下载的时候还是一个一个的下载!!也使用MVC模式开发的!!!
给你看一下,多文件上传和下载的代码,我自己写的,打包下载我还没有实现,如果你有什么好的想法,告诉我一下哦!!吼吼~~
多文件上传代码:
NetdishForm ndf = (NetdishForm) form;
List fileNameList=new ArrayList();//得到上传文件的文件名,并且将所有的文件名称保存在LIST数组中
fileNameList.add(ndf.getUpfile().getFileName());
fileNameList.add(ndf.getUpfile2().getFileName());
fileNameList.add(ndf.getUpfile3().getFileName());
fileNameList.add(ndf.getUpfile4().getFileName());
fileNameList.add(ndf.getUpfile5().getFileName());
for(int i=0;ifileNameList.size();i++)
{
selectedFileName=String.valueOf(fileNameList.get(i));//根据循环次数,依次获取文件名
try {
upLoadNetDishPath=photodir.getCanonicalPath()+"\\"+selectedFileName;
System.out.println("最终路径为:"+upLoadNetDishPath);
OutputStream ops=new FileOutputStream(upLoadNetDishPath);
if(i==0)
{
byte b[]=ndf.getUpfile().getFileData();
ops.write(b);
ops.close();
}
if(i==2)
{
byte b[]=ndf.getUpfile2().getFileData();
ops.write(b);
ops.close();
}
if(i==3)
{
byte b[]=ndf.getUpfile3().getFileData();
ops.write(b);
ops.close();
}
if(i==4)
{
byte b[]=ndf.getUpfile4().getFileData();
ops.write(b);
ops.close();
}
if(i==5)
{
byte b[]=ndf.getUpfile5().getFileData();
ops.write(b);
ops.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
这是上传的核心代码,至于路径的自动创建我没有弄上来!!
下载的代码:
//以下为下载的主要方法
File file=new File(nd.getDownpath());
if(file.exists())
{
System.out.println("该下载路径或者文件已存在");
try{
//输出文件用的字节数组,每次发送500个字节到输出流:
byte b[]=new byte[500];
//客户使用保存文件的对话框:
response.setHeader("Content-disposition","attachment;filename="+nd.getFilename()); //设置文件下载时的名称。如果只在线观看,将attachment改成inline
//通知客户文件的MIME类型:
response.setContentType("text/plain"); //通知客户端浏览器文件的类型。
//通知客户文件的长度:
long fileLength=file.length();//取得文件的长度。
String length=String.valueOf(fileLength);
response.setHeader("Content_Length",length); //设置文件的长度
response.setCharacterEncoding("gbk");
//读取文件,并发送给客户下载:
FileInputStream in=new FileInputStream(file);
OutputStream o=response.getOutputStream();
int n=0;
while((n=in.read(b))!=-1)
{ o.write(b,0,n); //以文件流的形式写客户端。
}
in.close();
o.close();
}
catch(Exception e){
}
}else{
System.out.println("该文件已被用户删除");
return new ActionForward("/netdish_show.jsp?downloadflag=downloadfaild");
}
}
这是下载的,但是只是单个文件的下载,打包下载我还没有弄,如果你弄出来了给我说一下呗,我现在还没有思路了!呵呵!!共同学习么!(我之前想过其保存在List然后通过遍历做,但是那样的话效果就不大一样了!!)
asp.net MVC 中文件下载的代码怎么写,不要求上传
控制器中写一个Action,有直接返回File()类型的,该方法其实就是下载
public ActionResult ExportFile()
{
Services.ImportAndExport manage = new Services.ImportAndExport();
string fileName = "abc.xls";//文件名
string filePath = "D:\\abc.xls";//文件路径
string MIME = "application/vnd.ms-excel";//文件类型
return File(filePath, MIME, fileName);
}
关于mvc文件上传下载源代码和aspnet mvc 上传文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-07pb超级报表源代码(pb报表工具)[20240507更新]
- 05-07简历源代码可以上传照片的简单介绍[20240507更新]
- 05-07广告切换源代码免费下载(广告切换源代码免费下载安装)[20240507更新]
- 05-06阁楼网源代码(阁楼是什么网站)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06人脸识别源代码pdf的简单介绍[20240506更新]
- 05-06包含超市管理系统java源代码的词条[20240506更新]
- 05-06商城app源代码免费(商城App源码)[20240506更新]
- 05-06包含游戏源代码不同的模式的词条[20240506更新]
- 05-06matlab写的图象灰度切分源代码(matlab灰度图像分段线性变换)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接