go - 通过局域网接收文件时将文件保存到网络文件夹时出现问题 - Golang
问题描述
可能是一个令人困惑的标题。让我解释一下
我有一个 Go 服务器。用户可以上传照片。服务器拍摄这些照片并将其保存到指向静态文件服务器的网络文件夹中。使用 localhost 测试一切正常。但是当使用连接到 LAN 的手机时,.write([ ]bytes) 给我一个错误 Z:/xxx.jpg: The network connection was aborted by the local system。
我看到它确实收到了用 len([]bytes) 成功检查的字节。保存到本地磁盘工作正常。
我找不到发生这种情况的原因。由于程序接收到字节,它如何区分它们来自本地主机还是通过其他设备?
这是我的代码片段
file, _, err := r.FormFile("uploadFile")
defer file.Close()
fileBytes, err := ioutil.ReadAll(file)
filetype := http.DetectContentType(fileBytes)
switch filetype {
case "image/jpeg", "image/jpg":
case "image/gif", "image/png":
case "application/pdf":
break
default:
renderError(w, "INVALID_FILE_TYPE", http.StatusBadRequest)
return
}
fileName := randToken(12)
fileEndings, err := mime.ExtensionsByType(filetype)
if err != nil {
renderError(w, "CANT_READ_FILE_TYPE", http.StatusInternalServerError)
log.Print(err)
return
}
newPath := uploadPath + fileName + fileEndings[0]
newFile, err := os.Create(newPath)
defer newFile.Close()
if _, err := newFile.Write(fileBytes); err != nil || newFile.Close() != nil{
fmt.Println(err)
}
//success
解决方案
推荐阅读
- command - (WinDbg) 在使用 WinDbg(内核模式)切换到进程上下文后,如何切换回内核上下文?
- swiftui - 我无法在 SwiftUI 中将 NavigationItemTitle 覆盖到 TabView
- javascript - 在循环内设置本地存储项
- python - 如何使表单重定向到 Django 中用户给出的 URL?
- php - 在设置 API 中使用 nonce - WordPress 插件开发
- python - 如何手动缩放 Seaborn Violinplot 的计数
- python - 如何在 Python 中四舍五入到下一个以 2 结尾的整数?
- python - 如何从一个文件到另一个文件获取 Tkinter 输入?
- c# - 从 Windows 服务调用渲染图像时 UserControl 泄漏
- python - 从字符类中减去