回答編集履歴
3
chousei
test
CHANGED
@@ -27,3 +27,9 @@
|
|
27
27
|
<input name="filename" value="sample.txt">
|
28
28
|
<input type="button" id="btn" value="send">
|
29
29
|
```
|
30
|
+
// upload.php
|
31
|
+
```PHP
|
32
|
+
<?PHP
|
33
|
+
print_r($_FILES);
|
34
|
+
```
|
35
|
+
|
2
説明
test
CHANGED
@@ -5,3 +5,25 @@
|
|
5
5
|
また場合によっては307エラーを利用した転送なども可能です
|
6
6
|
なおjsで送信する場合もクライアント側はあくまで任意にファイルの選択をするという手順を経る必要があります。
|
7
7
|
それは非同期のXHRでも同様です。
|
8
|
+
|
9
|
+
# 参考
|
10
|
+
テキストエリアの文字列をサーバーにファイルとして送付
|
11
|
+
|
12
|
+
```javascript
|
13
|
+
<script>
|
14
|
+
window.addEventListener('DOMContentLoaded', ()=>{
|
15
|
+
btn.addEventListener('click',()=>{
|
16
|
+
const url="upload.php";
|
17
|
+
const body= new FormData();
|
18
|
+
|
19
|
+
body.append("upload", new Blob([document.querySelector('[name=body]').value],{"type":"text/plain"}),document.querySelector('[name=filename]').value);
|
20
|
+
fetch(url,{method:"post",body}).then(res=>res.text()).then(console.log);
|
21
|
+
});
|
22
|
+
});
|
23
|
+
</script>
|
24
|
+
<textarea name="body">
|
25
|
+
test
|
26
|
+
</textarea><br>
|
27
|
+
<input name="filename" value="sample.txt">
|
28
|
+
<input type="button" id="btn" value="send">
|
29
|
+
```
|
1
追記
test
CHANGED
@@ -1,2 +1,7 @@
|
|
1
|
-
PHPのcURLでpostを利用したファイルの転送は可能です。
|
1
|
+
PHPのcURLでpostを利用したファイルの転送は可能です。ただしそれはサーバーサイドの問題です。
|
2
2
|
クライアントのブラウザからではjsを利用してもtype=fileを利用しないでファイルの転送はできません
|
3
|
+
|
4
|
+
たとえばクライアントがtype=fileを利用して送ったファイルをサーバーが受け、それをさらにhttpベースで別のサーバーにpostしたいときはcURLで転送可能です。
|
5
|
+
また場合によっては307エラーを利用した転送なども可能です
|
6
|
+
なおjsで送信する場合もクライアント側はあくまで任意にファイルの選択をするという手順を経る必要があります。
|
7
|
+
それは非同期のXHRでも同様です。
|