HTMLでは、下記のようにするらしい
<form method="post" action="" enctype=""></form>
で、HTMLって結構便利だと思う。
なぜかといえば、HTML=WEBブラウザがデフォルトになっていて、
すでに窓が開き、そこにGUIがセットされている。
これ、すごいことだと思う。
もし同じことをVBAでやろうとしたら、
WINDOWSの窓を開いて、そこにフォームオブジェクトを貼り付けて
なんやら処理を書いたりしないといけない。
で、ますますHTML言語というものを覚えたくなった。
しかしなー、
HTMLといえば、ホームページを作るだけの言語だと思っていたが、
時代がどんどんすごくなっている感じ
で、これをPHPとかに渡したりするんだと思うが、
まだまだ覚えないといけないことがあって、さあ大変。
さて、他の言語で同じことをやろうとしたら、
どんなに大変なんだろうか?
それぞれどうなるの?
PYTHONの場合
JAVAの場合
RUBYの場合
おまけで
BASH
VBScript
1行ずつを串刺しにして、プログラミング勉強をしていると、
これは、外国語を全部やっている感じになってくる。
あまりにも、これは欲張りすぎではあるまいか
AI comment
HTMLでファイルをアップロードするには、formタグのenctype属性にmultipart/form-dataを指定します。これにより、ブラウザは、ファイルのアップロードを適切に処理することができます。
他の言語でも、同様にformタグのenctype属性にmultipart/form-dataを指定することで、ファイルをアップロードすることができます。
以下に、各言語の例を示します。
Python
import requests
def upload_file(file_path):
url = "https://example.com/upload"
files = {"file": open(file_path, "rb")}
response = requests.post(url, files=files)
return response.text
if __name__ == "__main__":
file_path = "test.txt"
result = upload_file(file_path)
print(result)
Java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class UploadFile {
public static void main(String[] args) throws IOException {
URL url = new URL("https://example.com/upload");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "multipart/form-data");
File file = new File("test.txt");
InputStream inputStream = new FileInputStream(file);
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
connection.setRequestProperty("Content-Length", String.valueOf(bytes.length));
connection.setDoOutput(true);
connection.getOutputStream().write(bytes);
connection.getResponseCode();
}
}
Ruby
require "net/http"
def upload_file(file_path)
url = "https://example.com/upload"
request = Net::HTTP::Post.new(url)
request.set_form_data({ "file" => File.open(file_path, "rb") })
response = Net::HTTP.start(url.host, url.port) {|http| http.request(request) }
return response.body
end
if __name__ == "__main__":
file_path = "test.txt"
result = upload_file(file_path)
print(result)
Bash
curl -F "file=@test.txt" https://example.com/upload
VBScript
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.Open "POST", "https://example.com/upload", False
objHTTP.setRequestHeader "Content-Type", "multipart/form-data"
objHTTP.send("file=@test.txt")
wscript.echo objHTTP.responseText
HTMLやPHPのように、フォームタグでファイルのアップロードをサポートしている言語の場合は、比較的簡単にファイルをアップロードすることができます。一方、フォームタグでファイルのアップロードをサポートしていない言語の場合は、HTTPリクエストのヘッダーやボディにファイルを指定するなど、より複雑なコードを書く必要があります。
プログラミング言語を複数学ぶことは、大変なことですが、学習することで、さまざまな開発の選択肢が広がります。欲張りに学習を進めるのも良いでしょう。