C# 从.netcore 2.2移动到3.1后无法上载文件
我有一个上传文件的服务。 有两个程序集:一个带有ApiController,另一个带有逻辑 控制器:C# 从.netcore 2.2移动到3.1后无法上载文件,c#,asp.net-core,.net-core,.net-core-3.1,C#,Asp.net Core,.net Core,.net Core 3.1,我有一个上传文件的服务。 有两个程序集:一个带有ApiController,另一个带有逻辑 控制器: public async Task<UploadFileResponse> UploadFromUrl([Required] string url, [FromQuery] string policy = null) { return await _fileStorageService.UploadFromUrlAsync(url, policy); } 我花了一天的时间
public async Task<UploadFileResponse> UploadFromUrl([Required] string url, [FromQuery] string policy = null)
{
return await _fileStorageService.UploadFromUrlAsync(url, policy);
}
我花了一天的时间来解决这个问题。也不知道该怎么做
原因可能是什么?我如何修复它?以下是解决方案:
似乎应该手动修复该问题
public abstract class BaseFileStorageService<TOptions> : IFileStorageService
{
...
public async Task<UploadFileResponse> UploadFromUrlAsync(string url, string policyName = null, CancellationToken cancellationToken = default) {
var fileName = Path.GetFileName(uri.LocalPath);
... //http request for the file
var fileDataStream = await downloadResponse.Content.ReadAsStreamAsync();
if (contentLength == null)
throw new Exception("File upload error");
var formFile = new FormFile(fileDataStream, 0, contentLength.Value, null, fileName)
{
Headers = new HeaderDictionary(),
ContentType = contentType
};
}
}
System.TypeLoadException: 'Could not load type 'Microsoft.AspNetCore.Http.Internal.FormFile' from assembly 'Microsoft.AspNetCore.Http, Version=3.1.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.'