J'ai essayé 2 méthodes d'appel d'une API Web à partir d'un composant dossier: XMLHTTPEQUEST et HTTPRequest. Les deux ont exactement le même effet.
Je peux atteindre l'API Web si je n'envoie pas le fichier sous forme de paramètre dans la commande .send (). Envoi du fichier Résultats dans ce message dans le navigateur: p>
Typecript: P>
Remarque: Environnement. Fileduploadx_url est " https: // localhost: 44387 / API / UPLOADFILE / UPLOADFILE " P >
public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddCors(o => o.AddPolicy("ThePolicy", builder => { builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader(); })); ConfigureServicesModule<DB_Dev_Phase2Context>.Register(services, Configuration); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } //app.UseHttpsRedirection(); //app.UseMvc(); ConfigureModule.Configure(app, env, Configuration); app.UseCors("ThePolicy"); } }
3 Réponses :
Vous avez besoin de cocher Activer Cors dans votre API Web https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/Enabling-cross-origin-requests-in-web-api < / a> et modifier la méthode de téléchargement en TS sur P>
Si vous activez le CORS correctement correctement, vous pouvez utiliser le code ci-dessous pour poster un fichier sur Web API startup.cs: p>
Enfin, je l'ai fini! J'ai essayé toutes les suggestions ici, mais aucune ne travaillait pour moi. J'ai retourné à l'aide de XMLHTTPQUEST. Tout ce que je devais faire était de supprimer la ligne "SetRequestheader" et le voila - tout a fonctionné.
Voici le dossier: p> Voici le contrôleur dans Web API: < / p> voici le démarrage.cs dans Web API: p>