Pergunta

Eu criei um serviço WCF para aceitar um arquivo e gravá-lo no disco.O front-end consiste em uma página com SWFUpload que trata do upload no lado do cliente.Aparentemente, SWFUpload publica os dados com um tipo de conteúdo de:multipart/form-data.

Eu acho que está tudo bem, mas no lado do serviço recebo um erro.O erro é "ProtocolException" esperando texto/xml.Tentei diferentes codificações de mensagens nas ligações, mas nada parece funcionar.

Como posso fazer upload deste arquivo usando multipart/form-data?

Foi útil?

Solução

@jdiaz,

@JasonS está certo, para fazer upload do arquivo você precisa transferi-lo como um fluxo de bytes.Você precisa usar Transmissão WCF.Por exemplo, sobre como fazer upload de arquivo via WCF, consulte um artigo de http://kjellsj.blogspot.com

Outras dicas

O que você deseja usar é provavelmente MTOM, se você quiser que seja padrão.Usando isso, você pode ter mensagens MIME multiparts.

Você então terá que ler o arquivo como um fluxo e inseri-lo em um dos parâmetros da solicitação.

Pode ser que seu serviço WCF seja direcionado ao .NET Framework 3.5 e seu IIS esteja em execução no .NET Framework 4.0.Neste caso (incompatibilidade de estrutura), você precisa modificar seu serviço.

Acredito que você terá que transferir o arquivo como uma matriz de bytes para o WCF.Você precisará manipular a postagem do SWFUpload e convertê-la em uma matriz de bytes antes de enviar para o seu serviço.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top