HarmonyOS 鸿蒙Next如何实现上传本地图片到服务器

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何实现上传本地图片到服务器 怎么实现上传本地图片到服务器啊?有demo吗?

2 回复
import axios, { AxiosError, AxiosResponse, FormData } from '@ohos/axios';
import { common } from '@kit.AbilityKit';
import fs from '@ohos.file.fs';

@Entry
@Component
struct UploadFilePage {
  @State message: string = 'Hello World';
  context = this as common.UIAbilityContext
  build() {
    RelativeContainer() {
      Button(this.message)
        .id('UploadFilePageHelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        }).onClick(async () =>{
        let uploadUrl = "xxxx"

        let rawFileDescriptor = this.context.resourceManager.getRawFdSync('exif.png')

        let buf2 = new ArrayBuffer(rawFileDescriptor.length);
        fs.readSync(rawFileDescriptor.fd, buf2); // 以同步方法从流文件读取数据。
        fs.fsyncSync(rawFileDescriptor.fd);
        fs.closeSync(rawFileDescriptor.fd);

        let formData = new FormData()
        formData.append('file',buf2)

        axios.post<string, AxiosResponse<string>,FormData>(uploadUrl, formData,{
          context: this.context,
          headers: {
            'Content-Type': 'multipart/form-data'
          },
        }).then((res: AxiosResponse) => {
          console.info("ImageUtils", "uploadPhoto", "success:" + JSON.stringify(res.data))
        }).catch((error: AxiosError) => {
          console.error("ImageUtils", "uploadPhoto", "error:" + JSON.stringify(error))
        })
      })
    }
    .height('100%')
    .width('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next如何实现上传本地图片到服务器的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,实现上传本地图片到服务器通常涉及以下步骤,这里简要说明核心过程,不涉及具体代码实现,也不包括Java或C语言相关内容:

  1. 选择图片:利用HarmonyOS提供的文件选择器API,让用户从本地选择需要上传的图片。

  2. 读取图片文件:获取用户选中的图片文件路径后,使用文件读写API读取图片数据。

  3. 图片数据转换:将读取到的图片数据转换为适合网络传输的格式,如Base64编码或直接作为二进制数据。

  4. 建立网络连接:使用HarmonyOS的网络API建立与服务器的HTTP或HTTPS连接。

  5. 发送请求:构造包含图片数据的HTTP请求(如POST请求),并发送到服务器。请求中需包含必要的请求头和请求体。

  6. 处理服务器响应:接收并解析服务器的响应,检查上传是否成功,并处理可能的错误情况。

以上步骤是鸿蒙系统中实现图片上传的基本流程。由于具体实现依赖于鸿蒙系统的API和框架,开发者需参考鸿蒙系统的官方文档和示例代码进行开发。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部