Get File

C#.NET 超大文件上传解决方案:分片断点上传(一)

拥有回忆 提交于 2020-04-26 15:05:32
以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载。 准备文件上传的API #region 文件上传 可以带参数 [HttpPost("upload")] public JsonResult uploadProject(IFormFile file, string userId) { if (file != null) { var fileDir = "D:\\aaa"; if (!Directory.Exists(fileDir)) { Directory.CreateDirectory(fileDir); } //文件名称 string projectFileName = file.FileName; //上传的文件的路径 string filePath = fileDir + $@"\{projectFileName}"; using (FileStream fs = System.IO.File.Create(filePath)) { file.CopyTo(fs); fs.Flush(); } return Json("ok"); }else{ return Json("no"); } } #endregion 前端vue上传组件 ( 利用Form表单上传 )

java springboot 大文件分片上传处理

China☆狼群 提交于 2020-04-21 04:20:06
参考自: https://blog.csdn.net/u014150463/article/details/74044467 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: /** * 文件传输对象 * @ApiModel和@ApiModelProperty及Controller中@Api开头的注解 是swagger中的注解 用于项目Api的自动生成,如果有没接触过的同学,可以把他理解为一个注释 */ @ApiModel( "大文件分片入参实体" ) public class MultipartFileParam { @ApiModelProperty( "文件传输任务ID" ) private String taskId; @ApiModelProperty( "当前为第几分片" ) private int chunk; @ApiModelProperty( "每个分块的大小" ) private long size; @ApiModelProperty( "分片总数" ) private int chunkTotal; @ApiModelProperty( "主体类型--这个字段是我项目中的其他业务逻辑可以忽略" ) private

百度智能云

老子叫甜甜 提交于 2020-04-20 10:27:33
起源 今天想把春节时折腾OCR引擎-Tesseract时产出的脚本整理一下,以便发布到网络方便大家参考。看了一下,觉得没什么必要,因为我自己都很难看懂了。跟住看到一些应用百度文字识别免费接口的文章,心里痒痒,按耐不住自己搞了一个Python图形应用。 概要 我用到了Qt官方的PySide2来实现图形界面,使用下来感觉十分容易上手。 官方的教程 还是比较齐全的。 我还拼了一个SVG格式的应用图标,设计能力有待提高。我是先在 freeicons.io 搜索一些具象,再在 Method Draw 上将两块代码拼接起来,最后生成一个SVG。需要注意的是: 1. 把每块代码放在一个新的独立的<g>标签中。 2. 一次过拼接完代码,否则网站会自动添加一些内容。 百度免费的文字识别接口没有参数设置图片排版(横竖排版),所以我的族谱数字化行动还没有找到完美的OCR工具。我准备自己写个函数,把横版结果解析为竖版原文。 效果图 关键代码 设置窗体标题和图标: self.setWindowTitle("Py-BaiduOCR") self.setWindowIcon(QtGui.QIcon("./image2char.svg")) 调用文件浏览器选择图片,然后展示图片: """ 选择图片 """ def selectImage(self): dialog = QtWidgets.QFileDialog

node学习笔记系列之四十一

∥☆過路亽.° 提交于 2020-04-18 17:45:57
node学习笔记系列之四十一 一、手动封装body-parser中间件 cookie-parser中间件 1、封装axios请求方式 body-parser ​const qs = require("querystring");var bodyparse = (function bodyparse() { function common(type) { return (req, res, next) => { let contentType = req.headers["content-type"]; if(contentType == "application/json" || contentType == "application/x-www-form-urlencoded"){ let str = ""; req.on("data",(data)=>{ str+=data; }) req.on("end",()=>{ if(contentType == "application/json"){ req.body = JSON.parse(str); next(); }else if( contentType == "application/x-www-form-urlencoded"){ req.body = qs.parse(str); next(); } next();

通俗理解spring源码(二)—— 资源定位与加载

最后都变了- 提交于 2020-04-15 11:08:38
【推荐阅读】微服务还能火多久?>>> 通俗理解spring源码(二)—— 资源定位与加载 最开始学习spring的时候,一般都是这样用: ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml" ); User user = (User)context.getBean("user"); 这里的ApplicationContext也是一个容器,只不过是引用了一个DefaultListableBeanFactory,暂时先不用管,真正的容器还是 DefaultListableBeanFactory ,我们还是以DefaultListableBeanFactory的初始化为例,可以这样写: public static void main(String[] args) { DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(factory); Resource resource = new ClassPathResource("spring.xml"); reader

Android之在Java socket作为服务器里面返回数据头部怎么写入浏览器需要下载文件的文件名

淺唱寂寞╮ 提交于 2020-04-13 13:42:44
【今日推荐】:为什么一到面试就懵逼!>>> 1 问题 Android app里面写了一个Java socket的简单服务器,在浏览器里面输入相应的IP和端口访问服务器下载文件,Java socket怎么写返回数据的头部信息,浏览器才知道需要下载文件的名字呢? 2 关于 Content-Disposition 在常规的HTTP应答中, Content-Disposition 响应头指示回复的内容该以何种形式展示,是以 内联 的形式(即网页或者页面的一部分),还是以 附件 的形式下载并保存到本地。 Content-disposition其实可以控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,文件直接在浏览器上显示或者在访问时弹出文件下载对话框。 1)格式说明: content-disposition = "Content-Disposition" ":" disposition-type *( ";" disposition-parm )   2)字段说明: Content-Disposition为属性名disposition-type是以什么方式下载,如attachment为以附件方式下载disposition-parm为默认保存时的文件名服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示

【Spring Boot】24.邮件任务

左心房为你撑大大i 提交于 2020-03-26 20:48:37
3 月,跳不动了?>>> 简介 在我们开发过程中,经常可以用到发送邮件的需求,这里我们来学习如何在springboot中集成邮件服务。 在使用邮箱模块之前我们需要了解邮件发送的原理,即用户A和B之间的邮箱传送过程是需要邮件服务器进行中转的,了解这一点之后我们开始邮件服务的集成。 集成邮件 引入场景启动器 pom.xml 配置账户信息 application.yml spring: mail: username: 1016037677@qq.com password: aaauhkiqvqlpvbecf host: smtp.qq.com auhkiqvqlpvbecfd是授权码,你应该使用自己的账户去设置,从QQ邮箱的账户出配置邮件服务器的时候您都会了解到相关的东西。 同样的,可以通过自动配置类以及属性类了解可以配置的属性。 这样,我们就可以准备发送邮件测试了。 邮件发送 简单消息 我们就直接在controller里面发送邮件。 controller/HelloController.class @Autowired JavaMailSenderImpl javaMailSender; @GetMapping("/send") public String send(){ SimpleMailMessage message = new SimpleMailMessage(); //

读取嵌套jar包中的文件

余生颓废 提交于 2020-03-17 17:22:56
某厂面试归来,发现自己落伍了!>>> 读取jar包中的jar 文件 例如有一个Jar包 A.jar,他的目录文件如下图 A.jar |--B.jar |--Test.class |--..... 通过 new JarFile(A.jar) 可以等到A.jar 对应的对象,可以遍例A.jar中的所有文件,Jar包中的文件以 JarEntry 的形式保存数据 ,全码大致如下: public void testJar() throws IOException { JarFile jarFile = new JarFile("C:\\Users\\Mzoro\\Desktop\\operation-1.1.jar"); System.out.println(jarFile.getName()); Enumeration<JarEntry> entries = jarFile.entries(); while (entries.hasMoreElements()) { JarEntry entry = entries.nextElement(); String name = entry.getName(); System.out.println(entry.getAttributes()); System.out.println(name); } } 但是 如果想继续遍历B

您可以使用多个过滤器调用Directory.GetFiles()吗?

好久不见. 提交于 2020-03-06 18:52:37
我正在尝试使用 Directory.GetFiles() 方法来检索多种类型的文件列表,例如 mp3 和 jpg 。 我没有运气就尝试了以下两种方法: Directory.GetFiles("C:\\path", "*.mp3|*.jpg", SearchOption.AllDirectories); Directory.GetFiles("C:\\path", "*.mp3;*.jpg", SearchOption.AllDirectories); 有没有办法在一个电话中做到这一点? #1楼 我知道这是一个老问题,但是LINQ:(.NET40 +) var files = Directory.GetFiles("path_to_files").Where(file => Regex.IsMatch(file, @"^.+\.(wav|mp3|txt)$")); #2楼 我遇到了同样的问题,无法找到正确的解决方案,所以我编写了一个名为GetFiles的函数: /// <summary> /// Get all files with a specific extension /// </summary> /// <param name="extensionsToCompare">string list of all the extensions</param> /// <param

看mongodb.log日志xiufu,发现日志里有以下语句:Mon Mar  317:46:37

放肆的年华 提交于 2020-03-01 08:43:07
看mongodb.log日志,发现日志里有以下语句: 2013年09月03日 ⁄ 综合 ⁄ 共 640字 ⁄ 字号 小 中 大 ⁄ 评论关闭 看mongodb.log日志,发现日志里有以下语句: .............. Mon Mar 317:46:37 [conn148] Assertion: 10295:getFile(): bad file number value (corrupt db?): run repair .............. 翻译 为: 声明: getFile():错误的文件数值(损坏的数据库?):运行修复 查了查mongodb的文档,遂用以下方法进程修复: 首先停止mongod服务,删除 mongodb.log,也可以备份一下 # rm -rf /data/mongodb/mongodb.log 删除mongodb进程文件 # rm -rf /mongodb/mongod.lock 进行修复 # /usr/local/mongodb/bin/mongod --repair --dbpath /mongodb/ --repairpath /mongodb/repair/ 这时mongodb进程会在/mongodb/repair/ 目录下储存临时的修复数据库文件,文件目录为“$tmp_repairDatabase_0”所以此目录空间要足够大。