- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 RestSharp 客户端和 Nancy 自托管服务器。我想要的是
To send multipart form data from client and parse that data easily from server :
Send binary file and Json data As Multipart Form Data from RestSharp client and able to get binary file and Json object from Nancy Server
在客户端使用 Restsharp:[ http://restsharp.org/ ] 我尝试发送“multipart/form-data”请求,其中包含一个二进制文件以及一些 json 格式的元数据:
var client = new RestClient();
...
IRestRequest restRequest = new RestRequest("AcmeUrl", Method.POST);
restRequest.AlwaysMultipartFormData = true;
restRequest.RequestFormat = DataFormat.Json;
// I just add File To Request
restRequest.AddFile("AudioData", File.ReadAllBytes("filePath"), "AudioData");
// Then Add Json Object
MyObject myObject = new MyObject();
myObject.Attribute ="SomeAttribute";
....
restRequest.AddBody(myObject);
client.Execute<MyResponse>(request);
在服务器上使用 Nancy[ http://nancyfx.org/ ]、尝试获取File和Json对象[元数据]
// Try To Get File : It Works
var file = Request.Files.FirstOrDefault();
// Try To Get Sended Meta Data Object : Not Works.
// Can Not Get MyObject Data
MyObject myObject = this.Bind<MyObject>();
最佳答案
对于多部分数据,Nancy 的代码有点复杂。尝试这样的事情:
Post["/"] = parameters =>
{
try
{
var contentTypeRegex = new Regex("^multipart/form-data;\\s*boundary=(.*)$", RegexOptions.IgnoreCase);
System.IO.Stream bodyStream = null;
if (contentTypeRegex.IsMatch(this.Request.Headers.ContentType))
{
var boundary = contentTypeRegex.Match(this.Request.Headers.ContentType).Groups[1].Value;
var multipart = new HttpMultipart(this.Request.Body, boundary);
bodyStream = multipart.GetBoundaries().First(b => b.ContentType.Equals("application/json")).Value;
}
else
{
// Regular model binding goes here.
bodyStream = this.Request.Body;
}
var jsonBody = new System.IO.StreamReader(bodyStream).ReadToEnd();
Console.WriteLine("Got request!");
Console.WriteLine("Body: {0}", jsonBody);
this.Request.Files.ToList().ForEach(f => Console.WriteLine("File: {0} {1}", f.Name, f.ContentType));
return HttpStatusCode.OK;
}
catch (Exception ex)
{
Console.WriteLine("Error!!!!!! {0}", ex.Message);
return HttpStatusCode.InternalServerError;
}
};
看看: http://www.applandeo.com/en/net-and-nancy-parsing-multipartform-data-requests/
关于rest - 南希 : parsing "multipart/form-data" requests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35426826/
我在解析请求文件时遇到问题。我的文件大小是 1338521 字节,但 Nancy 说,文件大小有时是 1751049 或 3200349。在我的 Windows PC 上它工作正常,在 Linux 服
我设置项目的步骤: 创建新的 asp.net 项目 安装包 Nancy.Viewengines.Razor 添加了 Views/hello.cshtml(简单的 hello world html) 添
我正在尝试获得第一个与 Nancy 一起使用的 Razor 模板,以及我的 .cshtml 的第一行... @inherits Nancy.ViewEngines.Razor.NancyRazorVi
SSVE是否支持嵌套迭代器? 我希望在SSVE View 中走动一个对象图(请参见下文),但我怀疑嵌套迭代器不是通往此处的方法。还有其他方法吗? 我知道SSVE是供内部使用的,并不是供整个生产使用的,
我正在使用 Corona SDK 将数据发布到我的 C# 服务器: headers["Content-Type"] = "application/x-www-form-urlencoded" head
我需要将一组对象从我的 Web 应用程序发送到我的 Nancy Web 服务以更新我的数据库。 只发送一个对象,它工作正常:在我的网络方法中,我使用 Request.Form..Value.Trim(
我有一个 RestSharp 客户端和 Nancy 自托管服务器。我想要的是 To send multipart form data from client and parse that data e
你能告诉我是否有特殊的 Razor 文件 _ViewStart.cshtml 南希支持吗?我知道它计划包含在内( here )。你能告诉我它现在是否可用吗?它目前对我不起作用。 谢谢 最佳答案 突发新
我知道这个问题是在一个月前提出的,但从未得到回答。我的程序正常启动,但在返回 View["Index", blogPost] 后找不到 Index.cshtml 并引发异常。 Get["/"] = p
遇到此处描述的问题 https://github.com/NancyFx/Nancy/issues/1528 具体来说,即使我按照我所理解的正确配置包括了 Razor View Engine,它也并不
我尝试在 URL 上使用 NancyModules 和 GET 字符串创建一个类,但是方法“Get”告诉我: "Error CS0021 Cannot apply indexing with [] t
我是一名优秀的程序员,十分优秀!