回答編集履歴

2

調整

2024/10/25 01:08

投稿

yambejp
yambejp

スコア117080

test CHANGED
@@ -34,3 +34,5 @@
34
34
  ```
35
35
 
36
36
  受け取り側が「/api/upload」というディレクトリ(?)になっていますが、受取用のプログラム(API?)を指定する必要があるように見えますが、なにをもって「アップロード先は合っていました」と判断されたのでしょうか?
37
+
38
+ ファイルの転送ができているのにAPI側が何らかの理由(送られてきたファイルが想定とちがうとかなんらかの必要なトークンがぬけてるとか)でわざと404エラーを吐いている可能性はあるので、その場合はAPI側の仕様を確認してもらう必要があります

1

ついき

2024/10/25 01:05

投稿

yambejp
yambejp

スコア117080

test CHANGED
@@ -1 +1,36 @@
1
1
  404エラーなのですから単純にアップロードの指定先が間違っているだけでは?
2
+
3
+ たとえばこんなソースで
4
+ ```html
5
+ <script>
6
+ window.addEventListener('DOMContentLoaded', ()=>{
7
+ btn.addEventListener('click',()=>{
8
+ const file=myfile.files[0];
9
+ if(file){
10
+ const fr = new FileReader();
11
+ fr.onload = e=>{
12
+ const body=new FormData();
13
+ body.append("userfile", new Blob([e.target.result],{"type":file.type}),file.name );
14
+ const url='/api/upload';
15
+ fetch(url,{
16
+ method:"post",
17
+ body,
18
+ }).then(res=>{
19
+ if(res.ok) return res.text();
20
+ throw new Error(res.status);
21
+ }).then(txt=>{
22
+ console.log(txt);
23
+ }).catch(err=>{
24
+ console.error(err);
25
+ });
26
+ }
27
+ fr.readAsArrayBuffer(file);
28
+ }
29
+ });
30
+ });
31
+ </script>
32
+ <input type="file" id="myfile" name="myfile" accept=".pdf">
33
+ <input type="button" id="btn" value="send">
34
+ ```
35
+
36
+ 受け取り側が「/api/upload」というディレクトリ(?)になっていますが、受取用のプログラム(API?)を指定する必要があるように見えますが、なにをもって「アップロード先は合っていました」と判断されたのでしょうか?