回答編集履歴

1

sample

2022/05/17 03:10

投稿

yambejp
yambejp

スコア114839

test CHANGED
@@ -1,2 +1,34 @@
1
1
  bodyの設定がおかしいからでは?
2
2
  body自体がformDataを指定する必要があるので
3
+
4
+ # sample
5
+
6
+ ```javascript
7
+ <script>
8
+ document.addEventListener('click',e=>{
9
+ let file;
10
+ if(e.target.matches('.save') && (file=icon.files[0])){
11
+ const fr = new FileReader();
12
+ fr.addEventListener('load',e=>{
13
+ const type=file.type;
14
+ if(["image/jpeg","image/gif","image/png"].includes(type)){
15
+ const blob=new Blob([e.target.result],{type});
16
+ const body=new FormData();
17
+ body.append(file.name,blob,file.name);
18
+ const method="post";
19
+ const url="sample.php";
20
+ fetch(url,{method,body}).then(res=>res.text()).then(console.log);
21
+ }
22
+ });
23
+ fr.readAsArrayBuffer(file);
24
+ }
25
+ });
26
+ </script>
27
+ <input type="file" id="icon">
28
+ <input type="button" class="save" value="save">
29
+ ```
30
+ //sample.php
31
+ ```PHP
32
+ <?php
33
+ print_r($_FILES);
34
+ ```