nim上传文件服务端
板块:技巧发布日期:2020-04-01 17:16:34

使用nim语言,jester框架上传文件到服务器,代码示例:

import jester, uuids, os

# 获取文件后缀
proc getFileSuffix*(file: string): string =
    var arr = file.split(".")
    if len(arr) > 0: result = "." & arr.pop()

# 上传操作
proc upload*(req: Request): string =
    var path = "upload"
    var file = req.formData.getOrDefault("file")
    var filename = $genUUID() & getfileSuffix(file.fields["filename"])
    try:
        # 写入文件
        writeFile(joinPath("public", path, filename), file.body)
        result = "OK"
    except Exception:
        result = getCurrentExceptionMsg()

上传操作没有验证文件大小和文件类型,请根据需要酌情修改。

发表评论举报话题
评论(2)
Nim标准库自带了 oids 与 Mongo OID 兼容,可以替代uuids
2020-04-01 21:23:20
1楼牛逼,破音
2020-04-01 21:26:30
发表评论
请点击数字 [] 来完成验证。