C# 从.netcore 2.2移动到3.1后无法上载文件

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); } 我花了一天的时间

我有一个上传文件的服务。 有两个程序集:一个带有ApiController,另一个带有逻辑

控制器:

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'.'