gpt4 book ai didi

c# - 在 Visual Studio c# 中子类化 MultipartStreamProvider 失败?

转载 作者:可可西里 更新时间:2023-11-01 16:29:40 26 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 中子类化 MultipartStreamProvider,

System.TypeLoadException: Method 'GetStream' in type 
'Uploadfunction.InMemoryMultipartFormDataStreamProvider' from assembly
'Uploadfunction, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
does not have an implementation.
in Microsoft.NET.SDK.Functions.Build.targets line 31

我的第31行是这样的

        <BuildFunctions
TargetPath="$(TargetPath)"
OutputPath="$(TargetDir)"/>

我有 System.net 程序集,还下载了 Microsoft.net.sdk.functions (1.0.6)。

我的函数类看起来像这样 -

public static class UploadFunction
{
[FunctionName("UploadFunction")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
{


//Check if the request contains multipart/form-data.
if (!req.Content.IsMimeMultipartContent("form-data"))
{
return req.CreateResponse(HttpStatusCode.UnsupportedMediaType);
}

var provider = await req.Content.ReadAsMultipartAsync(new InMemoryStream());

return req.CreateResponse(HttpStatusCode.OK, "File Uploaded");

}

我的 InMemoryStream 类看起来像这样。

public class InMemoryStream : System.Net.Http.MultipartStreamProvider
{
public override Stream GetStream(HttpContent parent, HttpContentHeaders headers)
{
MemoryStream s = new MemoryStream();
return s;
}


}

最佳答案

不确定是什么导致了 MultipartStreamProvider 的问题,但是如果您更改为 MultipartMemoryStreamProvider,它可以正常工作。

我的猜测是 System.Net 库在某种程度上不匹配,这导致 GetStream 实现之一无法对齐。您通常会在 dll 版本不匹配的库中看到这种情况。

关于c# - 在 Visual Studio c# 中子类化 MultipartStreamProvider 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47431410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com