首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elm文件上传

Elm文件上传
EN

Stack Overflow用户
提问于 2016-02-11 02:52:17
回答 4查看 6.6K关注 0票数 21

如何在Elm中上传文件(图像或excel)?

似乎找不到任何例子。

即使使用了本机代码,答案也很好。已经在Data中看到过Elm-Html,但它似乎不支持文件和blobs。这是怎么回事?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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。

票数 19
EN

Stack Overflow用户

发布于 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的一个示例

代码语言:javascript
复制
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
    }
票数 16
EN

Stack Overflow用户

发布于 2016-02-14 05:51:43

使用像文件读取器这样的库。

有一组非常全面的示例,您可以从这一个开始。

不过有个警告。因为这个库使用了一些本机代码,所以您无法从正式的软件包回购中获得它。因此,您将不得不求助于手动安装它。

为此,我写了这个讨厌的榆树包安装更换。它希望在项目的根目录中有一个exact-dependencies.json文件。最初,您可以从elm-package在构建项目时创建的elm-package目录中获取该文件。然后将对file-reader包的引用添加到exact-dependencies.json文件,如下所示:

代码语言:javascript
复制
{
    "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文件中:

代码语言:javascript
复制
{
    "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"
}

在此之后,您将运行榆树包安装更换,希望它能够正常工作。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35329962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档