go - 在Android中加载图像作为静态服务器
问题描述
我正在尝试GO
在我的 Android 应用程序中运行服务器,该应用程序正在运行相机,并将文件保存在:
file:///storage/emulated/0/Android/media/com.myapp/
我试图将此浴定义为我的服务器中的静态路径,如:
fsAndroid := http.FileServer(http.Dir("file:///storage/emulated/0/Android/media/com.myapp/"))
http.Handle("/android/", fsAndroid)
go func() {
log.Println(http.ListenAndServe("127.0.0.1:6060", nil))
<-c
}()
但是一旦我试图打开保存在那里的文件,从相机中取出后,我会去:
http://127.0.0.1:6060/android/myfile.jpg
我得到了404 page not found
任何想法?
解决方案
我解决了它,并分享了我的文件:这里
- 从 Go 开始,我使用了,感谢上面的fizzie注释:
fsAndroid := http.FileServer(http.Dir("/storage/emulated/0/")) // Pictures/tk.cocoon/
http.Handle("/android/", http.StripPrefix("/android/", fsAndroid))
- 在 Android 中,我使用:
interface ImageUri {
companion object {
fun create() : Uri? {
// Create an image file name
val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date())
Global.fileName = "IMG_${timeStamp}.jpg"
Global.filePath = "Pictures/tk.cocoon/IMG_${timeStamp}.jpg"
val resolver = Global.context.contentResolver
val contentValues = ContentValues().apply {
put(MediaStore.MediaColumns.DISPLAY_NAME, Global.fileName)
put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg")
//put(MediaStore.MediaColumns.RELATIVE_PATH, "Android/media/tk.cocoon/")
put(MediaStore.MediaColumns.RELATIVE_PATH, "Pictures/tk.cocoon/")
}
Global.photoURI = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues)
return Global.photoURI
}
}
}
推荐阅读
- javascript - 如何检查设备时间是否设置正确?
- python-3.x - 如何在 Python 3 中重新采样 Datafame 后对卷的值求和
- javascript - 有没有办法在 Vue 中与图像链接?
- javascript - 继续在鼠标上拖动背景
- javascript - 在 mongo shell 中运行 JavaScript 会出现语法错误
- matlab - 从 Matlab 保存的文件受大小限制
- python - 如何在 seaborn 中设置图形的位置?
- jupyter-notebook - JupyterLab vs JupyterNotebook
- excel - 禁用按钮,直到按下另一个按钮,如果单元格值更改,则再次禁用它
- asp.net-web-api - 为什么在 ASP.NET Core 2.1.3 web api 中出现 406 Not Acceptable?