小编JvS*_*JvS的帖子

使用正确名称的Suave发送(zip)文件

我一直在研究使用Suave创建Web服务器。目前,我正在尝试让它在GET请求中发送一个zip文件。我已经成功地使我的应用程序发送了文件,但是在Postman中执行请求时收到的文件名是“ response”或“ response.html”,具体取决于Files我使用的Suave 模块中的哪个函数。就是说,当我手动将文件重命名为.zip时,可以像正常的.zip文件一样打开和解压缩文件,这意味着问题确实出在下载文件的名称上。下面的代码是我现在得到的。

open JSON
open System
open System.Threading
open Suave
open Suave.Filters
open Suave.Operators
open Suave.Successful
open Suave.Web
open System.IO
open Suave.Writers

let sampleJsonPath = @"C:\VS Projects\Research\Sample.json"
let sampleZipPath = @"C:\VS Projects\Research\Sample.zip"
let getJson() =
    File.ReadAllText(sampleJsonPath)

[<EntryPoint>]
let main argv = 
    let cts = new CancellationTokenSource()
    let mimeTypes =
        defaultMimeTypesMap
            @@ (function | ".zip" -> createMimeType "compression/zip" false | _ -> None)

    let config =
        { defaultConfig with 
            mimeTypesMap = mimeTypes
            cancellationToken = cts.Token
        }

    let …
Run Code Online (Sandbox Code Playgroud)

f# suave

3
推荐指数
1
解决办法
110
查看次数

标签 统计

f# ×1

suave ×1