SaeedP
Well-known member
- Joined
- Oct 21, 2020
- Messages
- 113
- Programming Experience
- 3-5
Hello,
Is this URI for Axios correct to call the controller:
Here comes the view and the controller:
Controller:
If yes, why I can't upload an image?
thanks,
Is this URI for Axios correct to call the controller:
C#:
const res = await axios.post("WeatherForecast/post", FormData);
Here comes the view and the controller:
C#:
import React, { useState } from "react";
import axios from "axios";
export const FileUpload = () => {
const [file, setFile] = useState();
const [fileName, setFileName] = useState();
const SaveFile = (e) => {
console.log(e.target.files[0]);
setFile(e.target.files[0]);
setFileName(e.target.files[0].name);
};
const UploadFile = async (e) => {
console.log(file);
const formData = new FormData();
formData.append("formFile", file);
formData.append("fileName", fileName);
try {
const res = await axios.post("WeatherForecast/post", FormData);
console.log(res);
} catch (ex) {
console.log(ex);
}
};
return (
<>
<input type="file" onChange={SaveFile} />
<input type="button" value="upload" onClick={UploadFile} />
</>
);
};
Controller:
C#:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
namespace imageEditor3.Controllers
{
[Route("WeatherForecast")]
[ApiController]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[Route("WeatherForecast/post")]
[HttpPost]
public IActionResult Post([FromForm] FileModel file)
{
try
{
string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", file.FileName);
using (Stream stream = new FileStream(path, FileMode.Create))
{
file.FormFile.CopyTo(stream);
}
return StatusCode(StatusCodes.Status201Created);
}
catch (Exception)
{
return StatusCode(StatusCodes.Status500InternalServerError);
}
}
[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
var rng = new Random();
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = rng.Next(-20, 55),
Summary = Summaries[rng.Next(Summaries.Length)]
})
.ToArray();
}
}
}
If yes, why I can't upload an image?
thanks,