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

纯血鸿蒙下的webdav库

目前单框架原生鸿蒙下的协议传输库适配较少,需要等待后续发力。

目前已知的第三方库:

@dove/webdav(V0.2.1) 

仓库地址:ohos_napi · AtomGit_开放原子开源基金会代码托管平台

已经测试可用的功能:

直通车: atomgit.com/wysp2012/ohos_napi/blob/master/har/entry/src/main/ets/pages/Index.ets

import { AuthType, Client } from '@dove/webdav';@Entry
@Component
struct Index {@State message: string = 'Hello World';build() {Column() {Text(this.message).maxLines(6).fontSize('20vp').fontWeight(FontWeight.Bold).textOverflow({ overflow: TextOverflow.Ellipsis })Button('TEST WebDav').margin({ top: '12vp' }).onClick(async () => {try {const client = new Client("https://dav.jianguoyun.com/dav/", "michael1995415@petalmail.com", 'agxc36j3uxn56iqh', AuthType.Basic);await client.connect(true, true);const files = await client.list('');this.message += "files:" + files.length;} catch (err) {this.message = "error:" + err;}})}}
}

调用:
 

  //获取路径下所有文件和文件夹信息list(remotePath: string): Promise<Array<FileInfo>>//获取文件流get(remotePath: string): Promise<ArrayBuffer | null>//获取文件并写入到指定路径下writeTo(remotePath: string, filePath: string): Promise<boolean>//上传文件到远程路径put(remotePath: string, filePath: string): Promise<boolean>//删除远端文件delete(remotePath: string): Promise<boolean>//移动远端文件mv(sourcePath: string, targetPath: string): Promise<boolean>//复制远端文件cp(sourcePath: string, targetPath: string): Promise<boolean>//创建文件夹mkdir(remotePath: string): Promise<boolean>//释放连接close(): void

但经过实测,只有list成功了,而且对服务器的版本有要求,如果服务器返回405是不能正常返回列表的,服务器返回200可以正常返回列表。

put(远程路径,本地路径) 这个调用发生了数据传输,但是远程未收到,本地也报错,报错提示native code,应该是上层so库没有详细的错误提示导致。

该生态尚不完善,需要各位同仁继续用爱发电。

[@dove/webdav(V0.2.3)],是一个 OpenHarmony/HarmonyOS webdav库,基于 ohos-rs 开发,支持使用 API13 以上。

http://www.dtcms.com/a/348897.html

相关文章:

  • vue中 computed vs methods
  • 【C++闯关笔记】STL:string的学习和使用(万字精讲)
  • 开发软件安装记录
  • Kubernetes v1.34 前瞻:资源管理、安全与可观测性的全面进化
  • golang6 条件循环
  • R语言rbind()和cbind()使用
  • 信贷策略域——信贷产品策略设计
  • 【数据结构】排序算法全解析
  • 【链表 - LeetCode】206. 反转链表【带ACM调试】
  • HTTP URL 详解:互联网资源的精准地址
  • 当AI遇上终端:Gemini CLI的技术魔法与架构奥秘
  • 在 vue3 和 vue2 中,computed 计算属性和 methods 方法区别是什么
  • 打响“A+H”双重上市突围战,云天励飞实力如何?
  • JUC并发编程07 - wait-ify/park-un/安全分析
  • 《CF1120D Power Tree》
  • Spirng Cloud Alibaba主流组件
  • 【ElasticSearch】springboot整合es案例
  • 企业出海第一步:国际化和本地化
  • springBoot如何加载类(以atomikos框架中的事务类为例)
  • JavaScript数据结构详解
  • Docker知识点
  • 【数据分享】中国地势三级阶梯矢量数据
  • 【无标题】对六边形拓扑结构中的顶点关系、着色约束及量子隧穿机制进行严谨论述。
  • 深度剖析Spring AI源码(七):化繁为简,Spring Boot自动配置的实现之秘
  • MySQL--基础知识
  • 基础篇(下):神经网络与反向传播(程序员视角)
  • 多机多卡微调流程
  • Node.js依赖管理与install及run命令详解
  • 【文献阅读】生态恢复项目对生态系统稳定性的影响
  • CI/CD持续集成及持续交付详解