|
分類:[ASP.NET (VB)]
こんばんは。 初めまして。 開発初心者です。わかりにくい部分があるかと思います。すみません。
【作っているもの】 クライアントサイドにVB.netのWindowsフォームアプリケーション サーバーサイドにASP.netのWebAPIを用いてファイルのアップロード/ダウンロードを行う、クライアントサーバーアプリケーション
【わからないこと】 クライアントサイドで送信したファイルをサーバー側で受け取る方法
【状況】 クライアント/サーバーともにVisualStudio 2022を用いて開発しています。 サーバーサイドのアプリケーションはAWSでたてて、IISをインストールしたサーバー上にVisualStudioのWebデプロイにより配置しています。 クライアントサイドではmultipart/form-dataのMy.Computer.Network.FileUploadをもちいてファイルをサーバーサイドに送ります。
クライアントサイドでファイルを選択してアップロードを行おうとするとMy.Computer.Network.FileUploadの行で下記のエラーが出ます。 System.Net.WebException: 'リモート サーバーがエラーを返しました: (415) Unsupported Media Type
サーバーサイドのPOSTリクエストの受け口のメソッドのファイル用の引数のデータ型が間違っているのかと推測しております。 サーバーサイドのスクリプトについて記載されている記事がなかなかなく困っております。 ご助言いただけますと幸いです。
それぞれのスクリプトを載せておきます。
クライアントサイド ----------------------------------------------------ここから-------------------------------------------------------- Private Sub Upload() Dim url As String = "http://" & Authentication.Form_APServer_IP.Text & "/api/test1" For i = 0 To Form_UploadFiles.Items.Count - 1 Me.Form_UploadFiles.SelectedIndex = i My.Computer.Network.UploadFile(Me.Form_UploadFiles.SelectedItem, url, "", "", True, FileIO.UICancelOption.DoNothing)
Next End Sub ----------------------------------------------------ここまで--------------------------------------------------------
サーバーサイド ※サーバーサイドのスクリプトについてはデフォルトで作成されるものをほんの少しいじっただけのもので、これで動作を確認しようとしている段階です。 ----------------------------------------------------ここから-------------------------------------------------------- Imports System.Net Imports System.Web.Http Imports System.IO Imports System.Net.Http
Public Class test1Controller Inherits ApiController
Public Function PostValue(<FromBody()> ByVal file As HttpPostedFile)
Return "POSTvalue" End Function
End Class ----------------------------------------------------ここまで--------------------------------------------------------
その他必要な情報等ございましたらお申し付けください。 よろしくお願いいたします。
|