public async Task <IActionResult> Music(IFormFile file, int roomid, string owner)
        {
            var ismusic = true;

            try
            {
                var f = new UploadFIle(file, ismusic);
                if (f.CheckIfExcelFile())
                {
                    await f.WriteFile();
                }

                var streaminginfo = new StreamingInfo {
                    FileName = f.Name, Owner = owner, RoomID = roomid, FileOgName = f.OriginalName
                };

                if (!Streaming.Instance.StreamingQue.ContainsKey(streaminginfo.RoomID))
                {
                    await Streaming.Instance.AddRoom(streaminginfo.RoomID);
                }

                Streaming.Instance.EnQue(streaminginfo.RoomID, streaminginfo, ismusic);

                var info = new StreamingQueInfo(Streaming.Instance.StreamingQue[roomid]);
                await _hubContext.Clients.Group($"{roomid}").SendAsync("StreamingQueInfo", info);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Ejemplo n.º 2
0
        // filepath = @"Some\Folder\";
        // url= "http://localhost:51389/api/FileHandlingAPI";
        // localFilename = "c:\newProduct.jpg"
        //uploadFileName="newFileName"
        bool Upload(string url, string filePath, string localFilename, string uploadFileName)
        {
            Boolean isFileUploaded = false;

            try
            {
                HttpClient httpClient = new HttpClient();

                var        fileStream    = File.Open(localFilename, FileMode.Open);
                var        fileInfo      = new FileInfo(localFilename);
                UploadFIle uploadResult  = null;
                bool       _fileUploaded = false;

                MultipartFormDataContent content = new MultipartFormDataContent();
                content.Headers.Add("filePath", filePath);
                content.Add(new StreamContent(fileStream), "\"file\"", string.Format("\"{0}\"", uploadFileName + fileInfo.Extension)
                            );

                Task taskUpload = httpClient.PostAsync(url, content).ContinueWith(task =>
                {
                    if (task.Status == TaskStatus.RanToCompletion)
                    {
                        var response = task.Result;

                        if (response.IsSuccessStatusCode)
                        {
                            uploadResult = response.Content.ReadAsAsync <UploadFIle>().Result;
                            if (uploadResult != null)
                            {
                                _fileUploaded = true;
                            }

                            ////// Read other header values if you want..
                            ////foreach (var header in response.Content.Headers)
                            ////{
                            ////	Debug.WriteLine("{0}: {1}", header.Key, string.Join(",", header.Value));
                            ////}
                        }
                        else
                        {
                            //Debug.WriteLine("Status Code: {0} - {1}", response.StatusCode, response.ReasonPhrase);
                            //Debug.WriteLine("Response Body: {0}", response.Content.ReadAsStringAsync().Result);
                        }
                    }

                    fileStream.Dispose();
                });

                taskUpload.Wait();
                if (_fileUploaded)
                {
                    isFileUploaded = true;
                }
                //AddMessage(uploadResult.FileName + " with length " + uploadResult.FileLength
                //				+ " has been uploaded at " + uploadResult.LocalFilePath);


                httpClient.Dispose();
            }
            catch (Exception ex)
            {
                //	AddMessage(ex.Message);
                isFileUploaded = false;
            }


            return(isFileUploaded);
        }