如何在Elm中上传文件(图像或excel)?
似乎找不到任何例子。
即使使用了本机代码,答案也很好。已经在Data中看到过Elm-Html,但它似乎不支持文件和blobs。这是怎么回事?
发布于 2016-02-14 15:04:03
我是MisterMetaphor参考图书馆的作者。它比他解释的更容易使用。看看我是如何在示例中设置elm-package.json的:https://github.com/simonh1000/file-reader/blob/master/example/elm-package.json --只需添加"native-modules": true,。
我编写了一个博客来支持0.18代码的发布,并展示了如何在Elm中上传到例如S3。
发布于 2018-12-04 15:07:26
的官方方法现在是https://package.elm-lang.org/packages/elm/file/latest/
这是榆树0.19中的一个加法。
现在,官方的Http包也支持它。下面是来自https://package.elm-lang.org/packages/elm/http/latest/Http#request的一个示例
import File
import Http
type Msg = Uploaded (Result Http.Error ())
upload : File.File -> Cmd Msg
upload file =
Http.request
{ method = "PUT"
, headers = []
, url = "https://example.com/publish"
, body = Http.fileBody file
, expect = Http.expectWhatever Uploaded
, timeout = Nothing
, tracker = Nothing
}发布于 2016-02-14 05:51:43
使用像文件读取器这样的库。
有一组非常全面的示例,您可以从这一个开始。
不过有个警告。因为这个库使用了一些本机代码,所以您无法从正式的软件包回购中获得它。因此,您将不得不求助于手动安装它。
为此,我写了这个讨厌的榆树包安装更换。它希望在项目的根目录中有一个exact-dependencies.json文件。最初,您可以从elm-package在构建项目时创建的elm-package目录中获取该文件。然后将对file-reader包的引用添加到exact-dependencies.json文件,如下所示:
{
"evancz/elm-effects": "2.0.1",
"evancz/virtual-dom": "2.1.0",
"evancz/elm-http": "3.0.0",
"evancz/start-app": "2.0.2",
"evancz/elm-html": "4.0.2",
"elm-lang/core": "3.0.0",
"simonh1000/file-reader": "1.0.0"
}还需要将对file-reader的引用添加到elm-package.json文件中:
{
"version": "1.0.0",
"summary": "helpful summary of your project, less than 80 characters",
"repository": "https://github.com/user/project.git",
"license": "BSD3",
"source-directories": [
"."
],
"exposed-modules": [],
"dependencies": {
"elm-lang/core": "3.0.0 <= v < 4.0.0",
"evancz/elm-effects": "2.0.1 <= v < 3.0.0",
"evancz/elm-html": "4.0.2 <= v < 5.0.0",
"evancz/elm-http": "3.0.0 <= v < 4.0.0",
"evancz/start-app": "2.0.2 <= v < 3.0.0",
"simonh1000/file-reader": "1.0.0 <= v < 2.0.0",
},
"elm-version": "0.16.0 <= v < 0.17.0"
}在此之后,您将运行榆树包安装更换,希望它能够正常工作。
https://stackoverflow.com/questions/35329962
复制相似问题