Hi all, thought it might be worth updating this thread on my progress with S3, which I have now solved by adding one small hack to the Filereader <https://github.com/simonh1000/file-reader> library (github only because of the native code). I have documented this at https://simonh1000.github.io/2016/12/elm-s3-uploads/
Meanwhile, I have a new use to register. I was looking at MessagePack <http://msgpack.org/> and noted that Elm is not included in the long list of supported languages. I suspect that it currently could not be because of the lack of ArrayBuffer support? Simon On Wednesday, 24 August 2016 18:06:40 UTC+2, Erik Lott wrote: > > Our primary application allows photographers to upload hundreds/thousands > of images for portfolio display. image delivery, etc. I guess you could say > that our app is generally driven by image uploads. I would love to see this > functionality provided by Elm, rather than having to use ports... > > On Thursday, July 28, 2016 at 5:17:51 PM UTC-4, Daniel Bachler wrote: >> >> I'd love to see support for the File and ArrayBuffer Apis, and maybe >> TypedArrays/DataViews as well. IMHO they are an important piece of the Web >> Platform that is still missing in Elm. >> >> Evan suggested collecting concrete use cases to guide the design. I would >> like this thread to be the starting point of this effort. I would like to >> ask anyone who would also like this feature or who has substantial >> experience using either Api to add use cases or comment here so that we can >> try to define the user story for both apis. From there, we could decide >> what we would like to see supported and what, if anything, we don't need >> for now and suggest Elm Apis. >> >> I have two stories from a side project of mine. It is a slideshow editor >> that allows the user to select photos and audio files from the local >> system, uploads them to a web service, let's the user arrange and >> manipulate photos and music and then share the result with others. For >> this, I have two immediate use cases plus some more ideas: >> >> *Upload local files as binary blob to AWS S3* >> >> In my current, (hacky) version, I use the FileReader api (via >> simonH1000's filereader library) to read the content of a file into an >> ArrayBuffer, (represented as Json.Value in Elm) then use a modified version >> of elm-http to upload the content of the ArrayBuffer to an S3 storage >> bucket. >> >> *Download mp3 files, decode them and play them back via the AudioApi* >> >> Currently I do this with my modified http library to download the mp3 >> file into an arraybuffer, then pass the resulting arraybuffer through a >> port to some native javascript that then uses the Audio Api to decode the >> mp3 file into a playable audiobuffer. >> >> *Parsing or otherwise processing local text files. * >> >> For another project I would be interested in reading and parsing >> Swagger/OpenAPI definition files and then providing a UI to compare rest >> apis. Since the processing will be done on simple Strings, this would only >> require FileReader support (specifically the readAsText method). This would >> already work with the FileReader library as is (though that one is not >> available on package.elm-lang.org because it contains native code and is >> not whitelisted). >> >> *TypedArrays and DataViews* >> >> I haven't worked with these yet, but I can anticipate some cases that >> would be interesting: >> >> *Parsing/manipulating of binary data via the ArrayBuffer api.* >> >> One case I personally would like to do with this, is to parse the Exif >> header of the jpeg files the user loaded from the local file system. My >> slideshow could then display metadata information without roundtripping to >> the server. >> >> *Create geometry for WebGL in the form of Vertex Buffers* >> >> *Generating sound/music by writing raw audio samples* >> >> These could then be played back via the Web audio apis. >> >> >> Please add your own ideas to this thread. Once we have compiled a list of >> use cases, we can look at the JS Apis available under the Web Platform for >> Files, ArrayBuffers, Typed Arrays etc. and think how these could be exposed >> to Elm. >> > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
