关于文件上传跨域及接收

  • 修改配置文件(正式部署请将*替换为具体的域名)
<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("您要保存的路径");
        }
    }
}

声明:
- 因本人实力有限,文中难免存在描述不正确。请各位大神指正、补充,我将不胜感激
- 感谢您耐心的读完此文。如对您有帮助,麻烦点个赞以资鼓励

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值