相关疑难解决方法(0)

Web API:如何在使用MultipartMemoryStreamProvider时访问多部分表单值?

我曾经用来MultipartFormDataStreamProvider处理多部分请求.

由于我希望将上传的文件存储在内存中而不是磁盘文件中,因此我更改了要使用的代码MultipartMemoryStreamProvider.文件加载似乎工作正常,但我不再能够访问通过provider.FormData下面提供的其他表单值MultipartFormDataStreamProvider.有人能告诉我怎么做吗?

Fiddler捕获的原始请求:

POST http://myserver.com/QCCSvcHost/MIME/RealtimeTrans/ HTTP/1.1
Content-Type: multipart/form-data; boundary="XbCY"
Host: na-w-lxu3
Content-Length: 1470
Expect: 100-continue
Connection: Keep-Alive

--XbCY
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name=PayloadType

X12_270_Request_005010X279A1
--XbCY
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name=ProcessingMode

RealTime
--XbCY
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name=PayloadID

e51d4fae-7dec-11d0-a765-00a0c91e6fa6
--XbCY
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name=TimeStamp

2007-08-30T10:20:34Z
--XbCY
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name=SenderID

HospitalA
--XbCY
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name=ReceiverID

PayerB
--XbCY
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name=CORERuleVersion …
Run Code Online (Sandbox Code Playgroud)

multipartform-data asp.net-web-api

46
推荐指数
1
解决办法
3万
查看次数

是否可以覆盖MultipartFormDataStreamProvider,这样就不会将上传保存到文件系统中?

我有一个ASP.Net Web API应用程序,允许客户端(HTML页面和iPhone应用程序)上传图像.我正在使用本文中描述的异步上载任务.

当我想要保存到文件系统时,一切都很好,因为这就是这个代码在幕后看起来自动执行的操作.但是,我不想将上传的文件保存到文件系统中.相反,我想使用AWS SDK for .Net获取上传的流并将其传递到Amazon S3存储桶.

我已将代码设置为将流发送到AWS.我无法弄清楚的问题是如何从Web API方法获取上传的内容流,而不是让它自动保存到磁盘.

我希望我可以在MultipartFormDataStreamProvider中覆盖一个虚拟方法,它允许我对上传的内容做其他事情,而不是保存到磁盘,但似乎没有.

有什么建议?

c# asp.net-web-api

31
推荐指数
2
解决办法
1万
查看次数

标签 统计

asp.net-web-api ×2

c# ×1

multipartform-data ×1