掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBで「ファイルをアップロードする実行ファイル」の作成 (ID:122736)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
HTMLのフォームでアップロードされたファイルを保存するASPファイルがあり、そのASPファイルに、IEなどのブラウザを使わず、ファイルをアップロードするような実行ファイルを作りたいと考えています。 つまり、アップロードするためだけの実行ファイルを作りたいということなんです。 (完成後はdllにしようかと思っているのでアップロード専用にしたいんです) 現在VB6.0で作成を進めているんですが、どうもうまくいきません。 ソースは下のような感じです。 クリックするとアップロードを開始するという感じです。 *.txtや*.htmはうまくアップロードされるんですが、 *.jpg、*.gif、*xlsなどのファイルは、アップロード先のファイルをうまく開けません。 (一応アップロードされている事は、されているんですが、データの中身が変化しているようです) 改善箇所が分かる方がいましたら、是非ご指摘をお願いします。 ちなみにASP側は、HTMLのフォームでアップロードされた場合きちんと動作しています。 Sub UploadFile(DestURL As String, FileName As String) Dim sFormData As String Dim d As String Dim FieldName As String FieldName = "xfile001" Const Boundary As String = "--B21Softt20020709" sFormData = GetFile(FileName) d = "--" + Boundary + vbCrLf d = d + "Content-Disposition: form-data; name=""" + FieldName + """;" d = d + " filename=""" + FileName + """" + vbCrLf d = d + "Content-Type: image/gif" + vbCrLf + vbCrLf 'd = d + "Content-Type: image/jpeg" + vbCrLf + vbCrLf アップロードするファイルによってかえています 'd = d + "Content-Type: text/plain" + vbCrLf + vbCrLf d = d + sFormData d = d + vbCrLf + "--" + Boundary + "--" IEPostStringRequest DestURL, d, Boundary End Sub Sub IEPostStringRequest(URL As String, FormData As String, Boundary As String) Dim WebBrowser: Set WebBrowser = CreateObject("InternetExplorer.Application") Dim bFormData() As Byte ReDim bFormData(Len(FormData) - 1) bFormData = StrConv(FormData, vbFromUnicode) WebBrowser.Navigate URL, , , bFormData, _ "Content-Type: multipart/form-data; boundary=" + Boundary Do While WebBrowser.busy ' Sleep 100 DoEvents Loop WebBrowser.Quit End Sub Function GetFile(FileName As String) As String Dim FileContents() As Byte, FileNumber As Integer ReDim FileContents(FileLen(FileName) - 1) FileNumber = FreeFile() Open FileName For Binary As #FileNumber Get #FileNumber, , FileContents Close #FileNumber GetFile = StrConv(FileContents, vbUnicode) End Function Private Sub Command1_Click() UploadFile "ASPファイルのURL", "送信ファイルのパス" End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.