网页实现小文件的上传与下载

原理:1、上传文件:通过 input 上传文件,将文件读写为内存流,通过获取后缀,然后生 成唯一文件名,通过制定路径进行保存文件。 2、下载文件:通过传输指定的文件名,在指定的路径里复制已存在的文件,并返 回给网页。 (依赖 JQuery 插件)

关键字:GetFileName(获取文件名称)、GetExtension(获取文件后缀)

一、上传文件:以上传图片为例(文件大小<128m)

1、通过 input 进行选择文件上传

2、然后通过 jq 的选择器选取到 input 所选择的文件 var userPicture = $("#userPictureFile").get(0).files[0];

3、通过 ajax 提交数据至控制器 、 注(method 只能使用 post)

4、控制器接收数据,使用基类 HttpPostedFileBase

通过 GetExtension 获取文件尾缀 string imgExtension = Path.GetExtension(userPicture.FileName);

5、生成文件唯一名称以及获取保存路径(文件名称可以自行设定或随机生 成)

随机生成唯一名称:通过调用 Guid.NewGuid() (全球唯一标识符)拼 接文件尾缀

获取指定的保存路径:

6、保存文件

通过 SaveAs 对文件进行保存 userPicture.SaveAs(imgFilePath);

可根据实际情况,自身需求,自行传参设定文件名称(同一保存文件目录下不 能存在相同文件名称)

二、下载文件:以下载压缩包为例(文件大小<128m)

下载文件较上传文件要简单一些,只需从指定的路径提取数据便可

1、通过触发点击事件,打开指定的下载路径

2、获取获取指定的下载目录(可传参灵活改变压缩包以及下载的目录路 径)

3、判断指定下载的文件是否存在,若不存在则进行报错

4、获取文件的名称(带扩展名) 通过 GetFileName 获取到文件的名称

5、将文件返回给视图,实现文件下载

动态下载文件,只需灵活变通一下,动态传参(压缩包的名称,或者下载的目 录)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值