none
Enviar archivo por Post mediante Una URI RRS feed

  • Pregunta

  • Buenas tardes

    Estoy intentando adaptar el siguiente código dentro del metodo de mi api. Estoy recibiendo un objeto que contiene las propiedades de archivo, pero requiero enviar este archivo por medio de http traves de una URI.

    [HttpPost]
            [Route("[controller]/pu/EnviarArchivo")]
            [SwaggerOperation("EnviarArchivo")]
            public async Task EnviarArchivo([FromBody] Archivo archivo, string solicitud) 
            {
                var username = "";
                var password = "";
                var name = "Oficio";
    
                var authInfo = username + ":" + password;
                var encoded = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
                var requestURL = "http://serv-bm.cat.net/rest/bp/wle/v1/process/" + solicitud +
                                             "?action=addDocument&name=" + name + "&docType=file&data=data";
    
    
    
    
                var postParameters = new Dictionary<string, object>();
                postParameters.Add("data", new FormUpload.FileParameter(archivo.content, archivo.fileName, archivo.mimeType));
                string userAgent = null;
                var webResponse = FormUpload.MultipartFormPost(Uri.EscapeUriString(requestURL), userAgent,
                    postParameters,
                    "Authorization", "Basic " + encoded);
                // Process response  
                var responseReader = new StreamReader(webResponse.GetResponseStream());
                var returnResponseText = responseReader.ReadToEnd();
                webResponse.Close();
                var results = JsonConvert.DeserializeObject<dynamic>(returnResponseText);
                if (results.status == "200") {
                }

    Sin embargo tengo error en la parte de FormUpload. Me marca que no existe en el contexto actual. El otro detalle es que no se si el contenido del archivo lo puedo mandar tal cual o tengo que hacer alguna conversion. Es una web api en net core y estoy usando swagger para documentarla.

    Agradezco de antemano.


    Escribir un Gracias no cuesta nada Saludos


    • Editado FranNovato viernes, 24 de julio de 2020 21:06
    viernes, 24 de julio de 2020 21:05

Respuestas

  • hola

    >>Sin embargo tengo error en la parte de FormUpload.

    Que libreria se trata esto del FormUpload?es una libreria de terceros?

    porque veo que haces un "new" pero ahi mismo usas el FileParameter() ahi hay algo raro

    o quitas el new porque FileParameter() es un metodo static o dejas el new pero debes encerrarlo entre parentesis

    (new FormUpload).FileParameter(...)

    >>Es una web api en net core y estoy usando swagger para documentarla

    que uses swagger no efecta en nada que sea net core tampoco si es que la libreria FormUpload tiene soporte para esa version

    igualmente no evaluaste usar HttpClient

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta EricRRModerator viernes, 24 de julio de 2020 23:39
    viernes, 24 de julio de 2020 23:10

Todas las respuestas

  • hola

    >>Sin embargo tengo error en la parte de FormUpload.

    Que libreria se trata esto del FormUpload?es una libreria de terceros?

    porque veo que haces un "new" pero ahi mismo usas el FileParameter() ahi hay algo raro

    o quitas el new porque FileParameter() es un metodo static o dejas el new pero debes encerrarlo entre parentesis

    (new FormUpload).FileParameter(...)

    >>Es una web api en net core y estoy usando swagger para documentarla

    que uses swagger no efecta en nada que sea net core tampoco si es que la libreria FormUpload tiene soporte para esa version

    igualmente no evaluaste usar HttpClient

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta EricRRModerator viernes, 24 de julio de 2020 23:39
    viernes, 24 de julio de 2020 23:10
  • Hola FranNovato, 

      

    Gracias por levantar tu consulta en los foros de MSDN. Entendimos su pregunta y vamos a darle seguimiento para buscar la mejor repuesta pertinente al caso.  

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN.   

    Eric Ruiz

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    viernes, 24 de julio de 2020 23:18
    Moderador
  • Hola Leandro

    Si, creo que son de la libreria abp io. Entonces voy a eliminar esa parte. Es que el codigo inicialmente era para un formulario.

    Lo que me interesa realmente es pasar los parametros a la uri y mandarlos mediante httpclient como usted menciona. Pero no se si en la misma uri puedo pasarlo todos y como agregaria la parte de la autorización.

    muchas gracias


    Escribir un Gracias no cuesta nada Saludos

    viernes, 24 de julio de 2020 23:35