关于文件上传跨域及接收
程序员文章站
2022-06-11 14:37:28
...
- 修改配置文件(正式部署请将*替换为具体的域名)
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
- 首先提供一个支持[HttpOptions]请求的同名方法,返回支持跨域
public void UploadFile(int id = 1)
{
//此方法用于跨域的验证;也可以加上如下俩句话。第二个为此方法支持的请求方式
HttpContext.Current.Request.Headers.Add("Access-Control-Allow-Origin", "*");
HttpContext.Current.Request.Headers.Add("Access-Control-Allow-Methods", "POST, OPTIONS");
}
- 之后提供一个对应请求方式的方法
[HttpPost]
public void UploadFile()
{
//您需要完成的事,顺便写下API如何接收后台POST过来的文件吧
if (!Request.Content.IsMimeMultipartContent("form-data"))
{ //验证数据传递方式
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
HttpRequest currentRequest = HttpContext.Current.Request;
HttpFileCollection files = currentRequest.Files;
if (files.Count > 0)
{
HttpPostedFile currentFile = null;
foreach (string file in files)
{
currentFile = currentRequest.Files[file];
currentFile.SaveAs("您要保存的路径");
}
}
}
声明:
- 因本人实力有限,文中难免存在描述不正确。请各位大神指正、补充,我将不胜感激
- 感谢您耐心的读完此文。如对您有帮助,麻烦点个赞以资鼓励
上一篇: DFS(深度优先搜索)
下一篇: 春季防治宝宝感冒三妙招 热水泡脚治感冒