从 multipart/form-data 接收带有 servicestack 的文件
Posted
技术标签:
【中文标题】从 multipart/form-data 接收带有 servicestack 的文件【英文标题】:Receive file with servicestack from multipart/form-data 【发布时间】:2020-05-30 09:00:43 【问题描述】:我将表单作为多部分/表单数据从反应应用程序提交到 .net 后端。我使用 FormData 对使用 axios 发布数据做出反应。在服务器端,我使用 servicestack 处理数据,我设法弄清楚了文本输入,但我不知道如何接收文件输入。
这就是我从 react 提交表单的方式
handleSubmit = event =>
event.preventDefault();
var form = document.getElementById("imageForm"); // You need to use standard javascript object here
var formData = new FormData(form);
axios.post('http://myurls.com', formData, headers: 'Content-Type': 'multipart/form-data' )
.then(res=>
console.log(res);
)
.catch(error =>
console.log(error);
)
这是我的 servicestack C#
#region PLUGIN
public class FormSubmit : IPlugin
public void Register(IAppHost appHost)
appHost.RegisterService(typeof(FormSubmitService));
#endregion
#region SERVICE
public class FormSubmitService : ServiceStack.Service
public object Post(FormSubmitRequest request)
return request;
#endregion
#region REQUEST
[Route("/myservice/submitform")]
public class FormSubmitRequest : IReturn<object>
public object ImageFile get; set;
public string ImageTitle get; set;
public string ImageDescription get; set;
#endregion
我对 C# 非常陌生,我无法确定问题所在。我的猜测是 ImageFile 的数据类型,我尝试将其设置为 object
、string
、bytes[]
和 System.Web.UI.WebControls.Image
,但这似乎没有任何区别。
当我返回请求时,我可以看到我的请求对象包含 ImageTitle
和 ImageDescription
但没有 ImageFile
,甚至没有一个空键
我真的很迷茫,甚至不知道从哪里开始调试问题。
提前感谢您的帮助!
【问题讨论】:
【参考方案1】:这里是ServiceStack docs for handling HTTP File Uploads
【讨论】:
以上是关于从 multipart/form-data 接收带有 servicestack 的文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring MVC 控制器中接收 multipart/form-data?
使用 multipart/form-data 将图像从移动应用程序上传到 API
如何用SpringBoot框架来接收multipart/form-data文件