1

モバイルアプリからVB.NETMVC4WEBAPIを使用してビルドされたWebサービスに画像をアップロードしようとしています。モバイルアプリは、テストしたphp apiに正常にアップロードできるため、問題はWebサービスにあることがわかります。Webを検索しましたが、ファイルをアップロードするための実用的なサンプルは見つかりませんでした。提案をいただければ幸いです。

コード:

Imports System.IO
Imports System.Net.Http
Public Class Pic

 Public Property pix As FileUpload

Public Function addPic() As String
    Try

         Dim savedFile As String
         savedFile = Path.GetFileName(Me.pix.PostedFile.FileName)
         Me.pix.PostedFile.SaveAs("C:\tmp" + savedFile)

    Catch exp As Exception
        'Response.Write(exp.Message)
    End Try

   End Function
End Class

エラー:

メディアタイプが「multipart/form-data」のコンテンツからタイプ「Pic」のオブジェクトを読み取るために使用できるMediaTypeFormatterはありません。

ExceptionType:

System.InvalidOperationException

スタックトレース:

System.Net.Http.HttpContentExtensions.ReadAsAsync [T](HttpContent content、Type type、IEnumerable 1 formatters, IFormatterLogger formatterLogger)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable1 formatters、IFormatterLogger formatterLogger)\ r \ n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request、Type type、 IEnumerable 1 formatters, IFormatterLogger formatterLogger)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)\r\n at System.Web.Http.Controllers.HttpActionBinding.<>c__DisplayClass1.<ExecuteBindingAsync>b__0(HttpParameterBinding parameterBinder)\r\n at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext()\ r \ n at System.Threading.Tasks.TaskHelpers.IterateImpl(IEnumerator`1 enumerator、CancellationToken cancelToken) "}

4

1 に答える 1

1
Public Function Post()            
    Dim value1 As String = System.Web.HttpContext.Current.Request.Form("value1")

        Dim image1 As HttpPostedFile = System.Web.HttpContext.Current.Request.Files("value2")

        Dim filename As String = System.IO.Path.GetFileName(image1.FileName)

        pix.SaveAs("c:\tmp\" + filename)


    End Function
于 2012-12-07T03:26:14.867 に答える