File uploads via Slack's external upload flow (the legacy files.upload method is
retired):
files.getUploadURLExternal(filename,length) →upload_url,file_id- the bytes are sent to
upload_url(no bot token — the URL is pre-signed) files.completeUploadExternal(files,channel_id,initial_comment,thread_ts) shares the file
Files.upload(client, "C123", %{filename: "report.csv", content: csv, title: "Report"})
Files.upload(client, "C123", %{path: "/tmp/chart.png", thread_ts: ts})Pass channel = nil to upload without sharing.
Options
:upload_method— HTTP method for step 2::post(default, per Slack docs) or:put.:alt_txt,:snippet_type— forwarded to step 1.- request keys
:token,:headersas for every call.
Summary
Functions
POST files.getUploadURLExternal → upload → files.completeUploadExternal — uploads and shares a file.
Types
Functions
@spec upload( Noizu.Slack.Client.t(), String.t() | nil, upload() | keyword(), keyword() ) :: Noizu.Slack.Request.result()
POST files.getUploadURLExternal → upload → files.completeUploadExternal — uploads and shares a file.