質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

1回答

1774閲覧

slack apiに画像送信

Tsukuni

総合スコア34

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

1クリップ

投稿2018/12/07 14:15

canvasに表示された画像を取得し、その画像を投稿したいのですがうまくいきません。
postするとinvalid_form_dataとエラーメッセージが帰ってきます。

原因がわかりません。教えていただけると嬉しいです。

javascript

1function imgUpload() { 2 var canvasImage = $("#can").get(0); 3 4 var originalBinary = canvasImage.toDataURL("image/jpeg"); 5 var originalBlob = base64ToBlob(originalBinary); 6 var formData = new FormData(); 7 formData.append("file", originalBlob); 8 var data = { 9 token:"", 10 channel: '#general', 11 username: 'bot', 12 file:formData 13 }; 14 15 $.ajax({ 16 type: "POST", 17 url: POST_URL, 18 data: data, 19 dataType: "json", 20 processData: false, 21 error: function (XMLHttpRequest) { 22 console.log(XMLHttpRequest); 23 alert("アップロードに失敗しました"); 24 }, 25 success: function (res) { 26 if(res !== "OK") { 27 console.log(res); 28 alert("アップロードに失敗しました"); 29 } else { 30 alert("アップロードに成功しました"); 31 } 32 } 33 }); 34} 35 36// 引数のBase64の文字列をBlob形式にする 37function base64ToBlob(base64) { 38 var base64Data = base64.split(',')[1], // Data URLからBase64のデータ部分のみを取得 39 data = window.atob(base64Data), // base64形式の文字列をデコード 40 buff = new ArrayBuffer(data.length), 41 arr = new Uint8Array(buff), 42 blob, 43 i, 44 dataLen; 45 // blobの生成 46 for (i = 0, dataLen = data.length; i < dataLen; i++) { 47 arr[i] = data.charCodeAt(i); 48 } 49 blob = new Blob([arr], {type: 'image/jpeg'}); 50 return blob; 51} 52

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

json で post しているからだと思いますよー。

以下、公式資料です。

invalid_form_data
The method was called via a POST request with Content-Type application/x-www-form-urlencoded or multipart/form-data, but the form data was either missing or syntactically invalid.

https://api.slack.com/methods/files.upload

投稿2019/12/11 18:37

yamashu

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問