以调用接口的方式将文件上传至Web服务器

Posted Arlar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以调用接口的方式将文件上传至Web服务器相关的知识,希望对你有一定的参考价值。

 前台代码:

<form id="form1" action="http://www.abc.com/data/UploadFile.aspx" method="post" enctype="multipart/form-data" >
  <input type="file" name="F" style="width:160px;" />
  <input type="submit" name="Submit" value="提交" />
</form>

(浏览器本身就是个APP,用户点击提交按钮后,浏览器会以Post方式调用文件上传接口;

给APP提供文件上传接口和这类似,APP那边的文件上传程序只需要设置好相应的Http请求参数,比如上面的name="F",请求地址和请求方式等,就可以将文件传到服务器)

后台代码:

HttpPostedFile file = Request.Files["F"];

string filename = System.IO.Path.GetFileName(file.FileName); 

file.SaveAs(Server.MapPath(filename));

 

如果是上传图片文件,前台程序可以先将图片转成Base64字符串,后端接口程序再把接收到的Base64字符串转成图片,比如:

string f = HttpContext.Current.Request["F"]; //与上面的方式不同,此时的F对于前台程序来说是普通的参数

MemoryStream ms = new MemoryStream(Convert.FromBase64String(f));

Bitmap bmp = new Bitmap(ms);

bmp.Save(HttpContext.Current.Server.MapPath("f.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);

以上是关于以调用接口的方式将文件上传至Web服务器的主要内容,如果未能解决你的问题,请参考以下文章

web安全基础-文件上传(含部分upload-labs靶场通关)

8-文件上传漏洞

调用web服务

如何通过 Rails 中的 JSON 接口上传文件

图文:Apache实战 搭建Web站点(Windows本地上传Web程序至Linux服务器)

java保存图片到本地服务器共享