golang 保存 zip文件

大家好,小弟后端用golang的grpc服务,前端把一个zip转成str传到后端 ,后端再转成byte 保存这个zip,但是无法打开这个zip,报错,说:

cannot find zipfile directory in one of test.zip or
        test.zip.zip, and cannot find test.zip.ZIP, period.

我的代码如下:

func SaveWikiZip(fileData []byte, name string) bool {
    fileName := fmt.Sprintf("%s%s.zip", tempFile, name)
    err := ioutil.WriteFile(fileName, fileData, 0666)

    if err != nil {
        fmt.Println(err)
        return false
    }
    return true
}

求问 如何把文件保存在本地还能打开 多谢

阅读 4.7k
3 个回答

下面这种方式生成的zip文件是可以打开的,那应该就是你客户端上传和服务器下发过程中数据处理出了问题,这个过程是怎么样的?

fileData, err := ioutil.ReadFile("test.zip")
if err != nil {
    log.Fatal(err)
}

err = ioutil.WriteFile("test2.zip", fileData, 0666)
if err != nil {
    log.Fatal(err)
}

感觉你传输转换写入的时候 有特殊字符导致的格式有问题。

感觉是前端的问题。锤他

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏