当前位置:首页 > 代码 > 正文

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站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/14877.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载