Beispiel #1
0
        public string FileUpload([FromForm] FormUploadModel upload)
        {
            var    FileName = System.IO.Path.GetExtension(upload.File.FileName);
            string ret      = upload.ID + "_image" + FileName;

            using var DestFile     = System.IO.File.OpenWrite("wwwroot/images/" + ret);
            using var UploadStream = upload.File.OpenReadStream();

            UploadStream.CopyTo(DestFile);

            return("/images/" + ret);
        }
Beispiel #2
0
        public IActionResult Index([FromForm] QRCodeFileModel myFile)
        {
            try
            {
                var file = myFile.Image;
                var allowedExtensions = new[] { ".png", ".gif", ".jpeg" };

                if (file != null && file.Length > 0)
                {
                    ViewBag.FileLength = "";
                    var folderName = Path.Combine("Resources", "Images");
                    var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName);
                    var fileName   = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
                    var fullPath   = Path.Combine(pathToSave, fileName);
                    var flag       = false;
                    var fileExt    = Path.GetExtension(fileName);
                    foreach (var itm in allowedExtensions)
                    {
                        if (itm.Contains(fileExt))
                        {
                            flag = true;
                        }
                    }
                    if (flag)
                    {
                        // To Create a file on server
                        using (var stream = new FileStream(fullPath, FileMode.Create))
                        {
                            file.CopyTo(stream);
                        }


                        var        fileFormat = fileExt.Trim('.');
                        FileStream fs         = new FileStream(fullPath, FileMode.Open, FileAccess.Read);
                        byte[]     data       = new byte[fs.Length];
                        fs.Read(data, 0, data.Length);
                        fs.Close();

                        // Generate post objects
                        Dictionary <string, object> postParameters = new Dictionary <string, object>();
                        postParameters.Add("filename", fileName);
                        postParameters.Add("fileformat", fileFormat);
                        postParameters.Add("file", new FormUploadModel.FileParameter(data, fileName, "multipart/form-data"));

                        // Create request and receive response
                        string          postURL     = "http://api.qrserver.com/v1/read-qr-code/?file=";
                        string          userAgent   = "file";
                        HttpWebResponse webResponse = FormUploadModel.MultipartFormDataPost(postURL, userAgent, postParameters);

                        // Process response
                        StreamReader responseReader = new StreamReader(webResponse.GetResponseStream());
                        string       fullResponse   = responseReader.ReadToEnd();
                        webResponse.Close();

                        ViewBag.Message = fullResponse;

                        // Delete QR file created on server
                        System.IO.File.Delete(fullPath);
                    }
                    else
                    {
                        ViewBag.Message = "File type should be .png/.gif/.jpeg.";
                    }
                }
                else
                {
                    ViewBag.Message = "You have not specified a file.";
                }
            }
            catch (Exception ex)
            {
                ViewBag.Message = "ERROR:" + ex.Message.ToString();
            }
            return(View());
        }