コード例 #1
0
        public IActionResult SendMedia(SendMediaRequest request)
        {
            ApiType apiType = (ApiType)Enum.Parse(typeof(ApiType), request.ApiName);

            if (request.File != null)
            {
                if (request.File.Length > 0)
                {
                    var tempPath = Path.GetTempFileName();
                    tempPath = tempPath.Insert(tempPath.IndexOf(".tmp") - 1, Guid.NewGuid().ToString());
                    using (var stream = new FileStream(tempPath, FileMode.Create))
                    {
                        request.File.CopyToAsync(stream);
                    }

                    if (apiType == ApiType.WeboxAppApi)
                    {
                        using (var stream = new FileStream(tempPath, FileMode.Open))
                        {
                            request.Url = WriteMediaToBlobStorage(apiType, stream, request.File.FileName);

                            if (!string.IsNullOrEmpty(request.Url))
                            {
                                WeboxappServiceBridge serviceBridge = new WeboxappServiceBridge();
                                serviceBridge.SendWhatsAppMedia(request);
                            }
                        }
                    }
                    else if (apiType == ApiType.ChatApi)
                    {
                        Byte[] bytes = this.ReadAllBytes2(tempPath); // System.IO.File.ReadAllBytes(tempPath);

                        if (request.File.FileName.Contains(".xlsx"))
                        {
                            request.Url = string.Format("data:attachment/xlsx;base64,{0}", Convert.ToBase64String(bytes));
                        }
                        else if (request.File.FileName.Contains(".pdf"))
                        {
                            request.Url = string.Format("data:application/pdf;base64,{0}", Convert.ToBase64String(bytes));
                        }
                        else if (request.File.FileName.Contains(".docx"))
                        {
                            request.Url = string.Format("data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,{0}", Convert.ToBase64String(bytes));
                        }

                        ChatApiServiceBridge serviceBridge = new ChatApiServiceBridge();
                        serviceBridge.SendWhatsAppMedia(request);
                    }
                }
            }

            return(Ok("Uploaded"));
        }
コード例 #2
0
        public IActionResult SendImage(SendImageRequest request)
        {
            ApiType apiType = (ApiType)Enum.Parse(typeof(ApiType), request.ApiName);

            if (request.File != null)
            {
                if (request.File.Length > 0)
                {
                    var tempPath = Path.GetTempFileName();
                    tempPath = tempPath.Insert(tempPath.IndexOf(".tmp") - 1, Guid.NewGuid().ToString());
                    using (var stream = new FileStream(tempPath, FileMode.Create))
                    {
                        request.File.CopyToAsync(stream);
                    }

                    if (apiType == ApiType.WeboxAppApi)
                    {
                        using (var stream = new FileStream(tempPath, FileMode.Open))
                        {
                            request.Url = WriteMediaToBlobStorage(apiType, stream, request.File.FileName);

                            if (!string.IsNullOrEmpty(request.Url))
                            {
                                WeboxappServiceBridge serviceBridge = new WeboxappServiceBridge();
                                serviceBridge.SendWhatsAppImage(request);
                            }
                        }
                    }
                    else if (apiType == ApiType.ChatApi)
                    {
                        Byte[] bytes = this.ReadAllBytes2(tempPath);//System.IO.File.ReadAllBytes(tempPath);

                        if (request.File.FileName.Contains(".jpg"))
                        {
                            request.Url = string.Format("data:image/jpg;base64,{0}", Convert.ToBase64String(bytes));
                        }
                        else if (request.File.FileName.Contains(".png"))
                        {
                            request.Url = string.Format("data:image/png;base64,{0}", Convert.ToBase64String(bytes));
                        }
                        else if (request.File.FileName.Contains(".bmp"))
                        {
                            request.Url = string.Format("data:image/bmp;base64,{0}", Convert.ToBase64String(bytes));
                        }
                        ChatApiServiceBridge serviceBridge = new ChatApiServiceBridge();
                        serviceBridge.SendWhatsAppImage(request);
                    }
                }
            }

            return(Ok("Uploaded"));
        }
コード例 #3
0
        public IActionResult SendMessage([FromBody] string request)
        {
            SendMessageRequest inputRequest = JsonConvert.DeserializeObject <SendMessageRequest>(request);
            ApiType            apiType      = (ApiType)Enum.Parse(typeof(ApiType), inputRequest.ApiName);

            if (apiType == ApiType.WeboxAppApi)
            {
                WeboxappServiceBridge serviceBridge = new WeboxappServiceBridge();
                serviceBridge.SendWhatsAppMessage(inputRequest);
            }
            else if (apiType == ApiType.ChatApi)
            {
                ChatApiServiceBridge serviceBridge = new ChatApiServiceBridge();
                serviceBridge.SendWhatsAppMessage(inputRequest);
            }

            return(Ok("received : " + request));
        }