当前位置: 首页 > wzjs >正文

专门教人做点心的网站wordpress下载类模板

专门教人做点心的网站,wordpress下载类模板,网站托管运营,网络营销文案实例1.获取文件列表 流程:前端根据查询条件封装查询信息,后端接收后进行封装,封装为FileInfoQuery,根据fileInfoQuery使用mybatis的动态sql来进行查询。 2.文件分片上传 每次上传需要上传包括(文件名字,文件,md5值&#…

1.获取文件列表

流程:前端根据查询条件封装查询信息,后端接收后进行封装,封装为FileInfoQuery,根据fileInfoQuery使用mybatis的动态sql来进行查询。

2.文件分片上传

每次上传需要上传包括(文件名字,文件,md5值,父文件id,当前是哪一个分块,总的分块数量)
流程:

       第一次上传的时候后端生成fileId(后续返回给前端,后面的分片都会带上这个fileId)。

       秒传逻辑:

         当chunk = 0,也就是第一个分片,会先拿着md5去数据库里面里面进行查询,如果查询的数据不为空,那么就可以秒传。秒传前先从redis里面获取用户的空间是否满足,不满足就抛出异常,空间充足就构造文件信息插入到数据库中,接着更新用户的空间,返回上传成功的状态信息(秒传)。

        正常逻辑(不能秒传):

        首先判断用户空间是否足够插入当前的分片,不够的话抛出异常。接着构建临时目录(由用户id和fileId构成),创建临时文件(命名规则是当前的chunk值),使用File.copy来进行文件的复制(在这里可以使用我们的限流器)。上传成功后,将已经保存的临时文件的大小存储在redis当中方便后面判断空间是否充足。
        如果当前上传后不是最后一个分片,那么返回状态为上传中,前端会继续发请求。
        如果最后一个分片上传完成,构架file信息,根据redis中临时文件的大小来更新用户已使用空间。返回状态信息为上传完成。如果中间文件上传失败,在finally中删除临时文件。
        当事物提交完成之后,异步的合并文件。

        异步合并的流程:

                判断数据库中是否已经正常插入,如果没有插入直接返回。构建真实文件路径和文件名,使用 RandomAccessFile来进行文件的合并并且产出源文件(临时文件)。接着根据文件的类型判断是否是视频或者图片,如果是视频对视频进行切割,生成缩略图。如果是图片生成缩略图。

                在finally根据根据一个transferSuccess字段判断是否合并成功,如果合并失败就更改数据库为转码失败状态,否则就更改为使用中的状态。
 

知识点:

怎么实现事物提交后才开始异步合并?

Spring 提供的 事务同步管理器,用于管理事务的回调机制。
它允许开发者在事务的不同阶段(提交前、提交后、回滚后等)执行额外的操作。

TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {@Overridepublic void afterCommit() {fileInfoService.transferFile(fileInfo.getFileId(), webUserDto);}});

异步是怎么实现的:

@async注解实现异步合并,他的原理是aop,当调用这个方法的时候,其实是调用的代理方法,将其放到默认线程池中执行。
但是不推荐使用默认线程池,所以可以自定义线程池。

因为当前的项目中异步合并包括合并文件和图片压缩,视频处理。所以定义的线程池的核心线程数是(cpu核心数),最大线程数是(cpu核心数*2),并使用有界队列来作为任务队列。


RandomAccessFile实现文件合并:

RandomAccessFile 是 Java 中用于随机访问文件的类,它允许直接跳转到文件的任意位置进行读写操作(类似操作内存中的数组),而不是像普通 InputStream/OutputStream 那样只能顺序读写。

使用ffmpeg来进行视频切割和图片缩略图生成:
核心代码
  1. 创建切片目录

    • 根据原始视频文件名,创建一个同名目录(例如 video.mp4 对应 video/ 目录),用于存放切片文件。
  2. 检测视频编码格式

    • 使用 ffprobe 检测视频的编码格式(如 H.264、H.265/HEVC)。
    • 如果视频是 ​HEVC(H.265)编码,则先将其转码为 ​H.264 编码​(因为某些播放器不支持 H.265)。
  3. 生成中间 TS 文件

    • 通过 ffmpeg 将视频转换为 ​TS 格式​(MPEG-TS,流媒体常用容器格式)。
  4. 切割 TS 文件并生成索引

    • 将 TS 文件按 ​30秒一段 切割成多个小切片(如 xxx_0001.tsxxx_0002.ts)。
    • 生成 .m3u8 索引文件,记录所有切片的顺序和路径。
  5. 清理临时文件

    • 删除中间生成的完整 TS 文件(仅保留切片和索引)。
怎么执行的cmd命令:

        从网上找的一个工具类进行封装ProcessUtils。

3.读取图片

 String contentType = "image/" + imageSuffix;
//设置响应头,表示是图片,防止被当作二进制文件下载response.setContentType(contentType);
//让浏览器或者cdn进行缓存,后续可以直接查询缓存response.setHeader("Cache-Control", "max-age=2592000");


 


文章转载自:

http://34b3E0rq.dxtxk.cn
http://7KAovnh2.dxtxk.cn
http://H4JjdSqe.dxtxk.cn
http://L4dU8zbP.dxtxk.cn
http://UzjJWH7o.dxtxk.cn
http://kPvEtNDR.dxtxk.cn
http://mGrwnQbD.dxtxk.cn
http://Rgdh7nyG.dxtxk.cn
http://zWy2xd5T.dxtxk.cn
http://nUnpIJT9.dxtxk.cn
http://WAmzMXEx.dxtxk.cn
http://LPylZxrq.dxtxk.cn
http://jMiV9QOQ.dxtxk.cn
http://01KUJgfi.dxtxk.cn
http://Z3qUVZK4.dxtxk.cn
http://WLWlZaqC.dxtxk.cn
http://eDigWHDa.dxtxk.cn
http://puAlfsl9.dxtxk.cn
http://F9FpKunP.dxtxk.cn
http://KcYu011v.dxtxk.cn
http://zKfL0JZ5.dxtxk.cn
http://v4L4rpTO.dxtxk.cn
http://1UU6jr3A.dxtxk.cn
http://qM7jgJ2K.dxtxk.cn
http://9EsdG6hD.dxtxk.cn
http://WN3O6M2s.dxtxk.cn
http://8aERid3u.dxtxk.cn
http://ZLJs5QPx.dxtxk.cn
http://FnPlJkS2.dxtxk.cn
http://Ac3dNWSs.dxtxk.cn
http://www.dtcms.com/wzjs/738087.html

相关文章:

  • 建设网站需要什么手续推广联盟
  • 北京网站开发网站建设咨询中国e网网站建设
  • 口碑好的网站建设公司哪家好店铺推广软文范例
  • 可以做网站的网络app开发需要多少费用
  • 网页设计网站开发恩施市网站建设
  • 西安建站之家网络科技有限公司网站建设的作用
  • 公司网站制作视频单页面视频网站模板
  • 杭州网站网站建设培睿网站开发与设计
  • 门户网站开发项目的风险园林景观设计公司组织架构
  • 网站服务器租用4t多少钱一年啊知乎a站在线观看人数在哪
  • 网站建设公司口碑排名定制制作网站哪家好
  • 网站显示内容不显示不出来制作视频模板的软件
  • wordpress导出图片不显示不出来wordpress主题seo模板
  • 百度网站好评百度广告收费
  • 印刷网站开发的可行性报告263企业邮箱免费登录入口
  • 网站定制解决方案沈阳商城网站制作
  • 网页设计与制作教程期末考试试题宿迁网站优化
  • 网站死链接是什么广州平面设计招聘
  • 天津专门做网站的公司的电话实体店100个营销策略
  • wordpress做网站过程wordpress播放器源码
  • 教育门户网站建站做响应式网站代码
  • 信息化建设办公室网站石家庄ui设计公司
  • 有哪个网站是成都中科大旗做的WordPress360收录查询
  • 云南省住房和城乡建设局网站企业网站建设论文5000
  • 怎么欣赏一个网站设计图2023年小学生简短小新闻
  • 工信部 诚信网站备案wordpress不显示全文
  • 中山网站建设怎么样坪山区坪山街道六联社区
  • html网站 怎么做seo公众出行服务网站建设
  • 海口市住房和城乡建设局网站高端的赣州网站建设
  • 多仓库版仓库管理网站建设源码网站被域名重定向