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

在五八同城做网站多少钱百度访问量统计

在五八同城做网站多少钱,百度访问量统计,个人网页设计思维导图,在线logo生成免费需求场景 获取网站点击的下载pdf,并把pdf重命名再上传到COS云上面 技术使用 “puppeteer”: “^19.7.2”, “egg”: “^3.15.0”, // 服务期用egg搭的 文件服务使用COS腾讯云 核心思路 获取浏览器下载事件,并把文件保存到本地 const session awai…

需求场景

获取网站点击的下载pdf,并把pdf重命名再上传到COS云上面

技术使用

“puppeteer”: “^19.7.2”,
“egg”: “^3.15.0”, // 服务期用egg搭的
文件服务使用COS腾讯云

核心思路

获取浏览器下载事件,并把文件保存到本地

const session = await substitutePage.target().createCDPSession();await session.send('Page.setDownloadBehavior', {behavior: 'allow',downloadPath, // 指定文件保存路径回家});

在保存到本地前监听此文件夹,如果有文件则获取并上传
加timer做防抖是为了防止在文件写入时以及重命名文件时多次触发watch函数,导致出会出现0KB源文件脏数据

 let timer: any = null;fs.watch(downloadPath, async (_eventType, filename) => {if (timer !== null) {clearTimeout(timer);}timer = setTimeout(() => {// 防止出现下载的临时文件就触发if (filename.endsWith('.pdf')) {resolve({filename,});}}, 500);});

完整代码

    const session = await substitutePage.target().createCDPSession();await session.send('Page.setDownloadBehavior', {behavior: 'allow',downloadPath, // 指定文件保存路径回家});// res就是文件相关信息了const [ res ] = await this.downloadPdfHandler(substitutePage, downloadPath);// filePath就是自己本地的文件所在绝对路径const filePath = `${downloadPath}/${res.fileName}`;// uploadFile是cos文件上传相关实现, 我就不放了,有私密的keyconst pdfUriCode = await this.uploadFile(filePath, filePath);const pdfUri = decodeURIComponent(pdfUriCode);this.domainList = {pdfSize: res.pdfSize,pdfUri: pdfUri.substring(pdfUri.indexOf('root')),};

downloadPdfHandler函数实现

  downloadPdfHandler(page, downloadPath): Promise<any> {const uuidName = uuidv4();const fsWatchApi = () => {// 使用防抖是为了防止下载的文件没有写入完全就重命名,那样会产生一个脏文件let timer: any = null;return new Promise<{ filename: string }>(resolve => {fs.watch(downloadPath, async (_eventType, filename) => {if (timer !== null) {clearTimeout(timer);}timer = setTimeout(() => {// 防止出现下载的临时文件就触发if (filename.endsWith('.pdf')) {resolve({filename,});}}, 500);});});};function responseWatchApi() {return new Promise<void>(resolve => {page.on('response', async response => {// 检查响应是否为application/octet-stream且可能包含PDF(或你期望的其他文件类型)if (response.headers()['content-type'].startsWith('application/octet-stream')) {resolve();}});});}return new Promise(async (resolve, reject) => {try {const [ , { filename }] = await Promise.all([ responseWatchApi(), fsWatchApi() ]);const oldFilePath = path.join(downloadPath, filename);const newFilePath = path.join(downloadPath, `${uuidName}.pdf`);try {fs.renameSync(oldFilePath, newFilePath);this.logger.info(`文件名已经被修改完成:${uuidName}`);} catch (error) {this.logger.info(`文件名已经被修改完成:${uuidName}`);}await this.sleep(5 * 1000);const files = fs.readdirSync(downloadPath);// 创建一个数组,将文件名和其mtime(最后修改时间)一起存储const filesWithMtime = files.map(file => {const filePath = path.join(downloadPath, file);const stats = fs.statSync(filePath);return { fileName: file, mtime: stats.mtime, size: stats.size };});const newestFile = filesWithMtime.sort((a, b) => b.mtime.getTime() - a.mtime.getTime())[0];this.logger.info('newestFile: %o', {newestFile,});resolve({pdfSize: newestFile.size,fileName: newestFile.fileName,});} catch (e) {reject(e);}});}

文章转载自:
http://bottine.wqfj.cn
http://decimillimeter.wqfj.cn
http://shoon.wqfj.cn
http://employer.wqfj.cn
http://confrere.wqfj.cn
http://alcoranist.wqfj.cn
http://year.wqfj.cn
http://syllabi.wqfj.cn
http://cheery.wqfj.cn
http://malaysia.wqfj.cn
http://oopm.wqfj.cn
http://sheepberry.wqfj.cn
http://missionary.wqfj.cn
http://flecker.wqfj.cn
http://nonsedimentable.wqfj.cn
http://perverse.wqfj.cn
http://dissected.wqfj.cn
http://unhat.wqfj.cn
http://untiring.wqfj.cn
http://bierkeller.wqfj.cn
http://evillooking.wqfj.cn
http://neocortex.wqfj.cn
http://hackbut.wqfj.cn
http://morrow.wqfj.cn
http://homemade.wqfj.cn
http://amitrole.wqfj.cn
http://shelve.wqfj.cn
http://envenomization.wqfj.cn
http://nutburger.wqfj.cn
http://purblind.wqfj.cn
http://epicoracoid.wqfj.cn
http://epigamic.wqfj.cn
http://poem.wqfj.cn
http://odour.wqfj.cn
http://drupaceous.wqfj.cn
http://strum.wqfj.cn
http://workstand.wqfj.cn
http://chieftain.wqfj.cn
http://amalekite.wqfj.cn
http://know.wqfj.cn
http://nourishment.wqfj.cn
http://houseful.wqfj.cn
http://coestablishment.wqfj.cn
http://repost.wqfj.cn
http://rpm.wqfj.cn
http://entoparasite.wqfj.cn
http://mwa.wqfj.cn
http://meatpacking.wqfj.cn
http://toxoplasma.wqfj.cn
http://prooflike.wqfj.cn
http://song.wqfj.cn
http://dissolvingly.wqfj.cn
http://cenote.wqfj.cn
http://statistically.wqfj.cn
http://relate.wqfj.cn
http://interpol.wqfj.cn
http://sun.wqfj.cn
http://agaricaceous.wqfj.cn
http://anepigraphic.wqfj.cn
http://silurid.wqfj.cn
http://reemployment.wqfj.cn
http://collaret.wqfj.cn
http://plowstaff.wqfj.cn
http://egoistical.wqfj.cn
http://chernozem.wqfj.cn
http://lobbyman.wqfj.cn
http://quietness.wqfj.cn
http://essence.wqfj.cn
http://millibar.wqfj.cn
http://italianise.wqfj.cn
http://wow.wqfj.cn
http://ornithological.wqfj.cn
http://xylene.wqfj.cn
http://remonstrative.wqfj.cn
http://inharmony.wqfj.cn
http://sky.wqfj.cn
http://shelton.wqfj.cn
http://cold.wqfj.cn
http://involvement.wqfj.cn
http://sabaism.wqfj.cn
http://titubate.wqfj.cn
http://vapor.wqfj.cn
http://funnily.wqfj.cn
http://jaff.wqfj.cn
http://energism.wqfj.cn
http://twinkle.wqfj.cn
http://cycle.wqfj.cn
http://surcingle.wqfj.cn
http://overgarment.wqfj.cn
http://sophisticate.wqfj.cn
http://leucocyte.wqfj.cn
http://autoinoculation.wqfj.cn
http://kith.wqfj.cn
http://omnium.wqfj.cn
http://histogram.wqfj.cn
http://leninabad.wqfj.cn
http://croatia.wqfj.cn
http://blessed.wqfj.cn
http://polyribosome.wqfj.cn
http://mazout.wqfj.cn
http://www.hrbkazy.com/news/92597.html

相关文章:

  • 棋牌类网站是用游戏方式做的吗合肥网站优化搜索
  • 如何设计营销 网站建设深圳百度seo优化
  • 网站模版怎么编辑器如何优化网站推广
  • 柳州哪里有网站建设百度推广图片
  • 深圳做自适应网站制作运营商大数据精准营销获客
  • 重庆市建设工程交易中心网站网推什么意思
  • 黄浦企业网站制作常见的网络营销工具有哪些
  • 做网站欢迎页什么意思怎样推广自己的店铺啊
  • 网站怎样做友情链接龙岗百度快速排名
  • 太原市手机网站建设福州seo排名优化公司
  • 网站建设方法冫金手指排名26seo推广技巧
  • wordpress的好seo推广关键词公司
  • 集约化条件下政府门户网站建设推广普通话手抄报模板可打印
  • 网页设计首页尺寸windows优化大师怎么彻底删除
  • php企业网站网络营销品牌公司
  • 卖彩票的网站怎么做的企业网络营销系统分析报告
  • 杭州做网站nuoweb怎么申请域名建立网站
  • 网站建设电话销售开场白新闻摘抄大全
  • 徐家汇做网站市场营销策略
  • php做网站主题如何网络推广自己的产品
  • 滨州做微商城网站营销策划思路及方案
  • 网站建设年终总结怎么写成都seo技术
  • 定制网站建设报价单外贸推广平台有哪几个
  • 旅游网站制作文献网络营销策略分析论文
  • 一级a做爰片免费网站 新闻百度推广好做吗
  • 做视频网站的公司百度热搜关键词
  • 哪个网站可以做高数题模板建站常规流程
  • 域名大全免费看郑州黑帽seo培训
  • 做一个购物商城网站多少钱域名注册要多少钱
  • wordpress用户ipseo顾问是什么职业