• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript react-native-fs.downloadFile函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中react-native-fs.downloadFile函数的典型用法代码示例。如果您正苦于以下问题:TypeScript downloadFile函数的具体用法?TypeScript downloadFile怎么用?TypeScript downloadFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了downloadFile函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: eventChannel

 return eventChannel((emit) => {
   const toFile = `${FILES_FOLDER}/${track.id}.mp3`
   RNFS.downloadFile({
     fromUrl: track.mp3Url,
     toFile,
     background: true,
     begin ({ jobId }) {
       currentDownloadJob.jobId = jobId
       currentDownloadJob.trackId = track.id
     },
     progress ({ contentLength, bytesWritten }) {
       emit(downloadProgress({
         total: streamLength(contentLength),
         receive: streamLength(bytesWritten),
         id: track.id
       }))
     }
   }).promise.then((_) => {
     currentDownloadJob = Object.create(null)
     emit(removeDownloadingItem(track.id))
     emit(downloadSuccess({
       ...track,
       mp3Url: toFile
     }))
     emit(END)
   }).catch((err: Error) => {
     currentDownloadJob = Object.create(null)
     if (!err.message.includes('abort')) {
       emit(downloadFailed(track))
       emit(toastAction('error', `下载 ${track.name} 出现错误`))
     }
     emit(END)
   })
   return () => ({})
 })
开发者ID:czb128abc,项目名称:gouqi,代码行数:35,代码来源:download.ts


示例2: Promise

  return new Promise((resolve, reject) => {
    // get a temp path
    let downloadSessionId = Math.round(10000 + Math.random() * 1e5).toString(36);
    let tempFilename = downloadSessionId + '.tmp';
    let tempPath = FileUtil.getPath(tempFilename);
    tempPath = 'file://' + tempPath.replace("file://","");
    targetPath = 'file://' + targetPath.replace("file://","");

    LOGi.cloud('CloudCore:DownloadFile: ',downloadSessionId,'download requesting from URL:', url, 'temp:', tempPath, 'target:', targetPath);


    // download the file.
    RNFS.downloadFile({
      fromUrl: url,
      toFile: tempPath,
      begin: callbacks.begin,
      progress: callbacks.progress
    }).promise
      .then((status) => {
        if (status.statusCode !== 200) {
          // remove the temp file if the download failed
          FileUtil.safeDeleteFile(tempPath)
            .then(() => {
              LOGi.cloud('CloudCore:DownloadFile:',downloadSessionId,' Download was not status 200:', status);
              callbacks.success();
              resolve(null);
            })
            .catch((err) => { LOGe.cloud("CloudCore:DownloadFile:",downloadSessionId," Could not delete file", tempPath, ' err:', err); });
        }
        else {
          FileUtil.safeMoveFile(tempPath, targetPath)
            .then((toPath) => {
              // if we have renamed the file, we resolve the promise so we can store the changed filename.
              LOGi.cloud('CloudCore:DownloadFile:',downloadSessionId,' Downloaded file successfully:', targetPath);
              callbacks.success();
              resolve(toPath);
            })
            .catch((err) => {  LOGe.cloud("CloudCore:DownloadFile:",downloadSessionId," Could not move file", tempPath, ' to ', targetPath, 'err:', err); });
        }
      })
      .catch((err) => {
        LOGe.cloud("CloudCore:DownloadFile: ",downloadSessionId,"Could not download file err:", err);
        FileUtil.safeDeleteFile(tempPath).catch((err) => { LOGe.cloud("CloudCore:DownloadFile: ",downloadSessionId," Could not delete file", tempPath, 'err:', err); });
        reject(err);
      })
  });
开发者ID:crownstone,项目名称:CrownstoneApp,代码行数:46,代码来源:cloudCore.ts


示例3:

      console.log('FILES UPLOADED!'); // response.statusCode, response.headers, response.body
    } else {
      console.log('SERVER ERROR');
    }
  })
  .catch((err) => {
    if (err.description === "cancelled") {
      // cancelled by user
    }
    console.log(err);
  });

const downloadProgress: RNFS.DownloadCallbackProgress = (result) => {
  result.bytesWritten === 0;
  result.contentLength > 10;
  result.jobId;
};

const downloadBegin: RNFS.DownloadCallbackBegin = (result) => {
  result.headers === {};
};

RNFS.downloadFile({
  fromUrl: 'http://.txt',
  toFile: 'file.txt',
  begin: downloadBegin,
  progress: downloadProgress
}).promise.then((response) => {
  response.statusCode === 200;
});
开发者ID:Crevil,项目名称:DefinitelyTyped,代码行数:30,代码来源:react-native-fs-tests.ts



注:本文中的react-native-fs.downloadFile函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript react-native-fs.unlink函数代码示例发布时间:2022-05-25
下一篇:
TypeScript react-native-fetch-blob.RNFetchBlob.fs类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap