У меня есть служба WCF, и я отправляю img по параметру в Stream, и я хочу сохранить изображение, которое я отправил в файл на моем сервере, в данном случае это localhost.
Можете ли вы помочь мне?
Public Function UploadStream(ByVal stream As Stream) As Byte() Implements IService1.UploadStream
Dim buffer As Byte() = New Byte(9999) {}
Dim bytesRead As Integer, totalBytesRead As Integer = 0
Do
bytesRead = stream.Read(buffer, 0, buffer.Length)
totalBytesRead += bytesRead
Loop While bytesRead > 0
Dim imagememorystream As MemoryStream = New MemoryStream(buffer)
Dim imgFromStream As Image = Image.FromStream(imagememorystream)
Return buffer
End Function
Если я удаляю этот код: Dim imagememorystream As MemoryStream = New MemoryStream(buffer)
Dim imgFromStream As Image = Image.FromStream(imagememorystream)
, функция возвращает байтовый массив, когда я добавляю его, служба WCF не работает.
Erro do Pedido
O servidor encontrou um erro ao processar o pedido.Mensagem de exceção é 'O parâmetro não é válido.'.Consulte os registos do servidor para obter mais detalhes.Дополнительные значения:
em System.Drawing.Image.FromStream (поток Stream, логическое значение useEmbeddedColorManagement, логическое значение validateImageData) em WcfService2.Service1.UploadStream (поток Stream)
em C: \ Users \ d-sil \ source \ repos \ WcfService2 \ WcfService2 \ Service1.svc.vb: строка 40
em SyncInvokeUploadStream (Object, Object [], Object []) em System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke (экземпляр объекта, Object [] входные данные, объект [] и выходные данные)
em System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & rpc)
em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpc & r).Dispatcher.ImmutableDispatchRuntime.ProcessMessage11 (MessageRpc & rpc)
em System.ServiceModel.Dispatcher.MessageRpc.Process (логическое значение isOperationContextSet)