-
下载文件链接为:http://<ip>:<port>/file/rapid/download/<uuid> 其中uuid为路径参数,指出下载哪个文件。请求方法是GET
-
上传文件链接为:http://<ip>:<port>/file/rapid/upload/<uuid> 其中uuid指明了要保存的文件的信息,包括保存路径,由其他请求实现,请求方法为POST
-
下载文件时,解析uuid得到的是:<目标文件位置>(精确到具体文件),比如:/home/cfm/myfile/123.txt
-
上传文件时,解析uuid得到的是:<保存位置>;<新文件名>; 其中';'是分隔符,如果新文件名为空,默认使用原文件名。
-
注:保存位置精确到目录,而不是分隔符,新文件名不包含后缀,所以不支持更改后缀名。比如:/home/cfm/myfile;456;或/home/cfm/yourfile;
-
对于文件上传,使用保存在硬盘的方式接收文件,和普通处理没什么区别,但是因为不需要内存的参与,所以对内存有好,缺点就是较常规方式慢一些。
-
对于文件下载,如果使用的是SSL加密的HTTPS,那么使用分块传输,块大小可设置,默认10M。如果是普通的HTTP,那么就是用零拷贝的特性来传输,减少内存复制,加快传输速度。
-
uuid作为redis的key来实现对于所需数据的获取,所以要求Redis环境。
-
为了追求极尽所能的性能,异常处理和突发处理不算很完善,请调用时保证文件位置,R/W等属性均为正确的。