Web服务器怎么接收Android发送过来的文件信息
直接用 http handler 或者 http webapi 处理 multipart-data 请求
java:
File file = new File("F:\\tmp\\taiping\\conf-1json");
MultipartEntity mpEntity = new MultipartEntity(); // 文件传输
ContentBody cbFile = new FileBody(file);
mpEntityaddPart("fileContent", cbFile);
CloseableHttpClient client = HttpClientscreateDefault();
HttpPost post = new HttpPost("http://localhost:9999/api/values");
postsetEntity(mpEntity);
try {
CloseableHttpResponse response = clientexecute(post);
String result = IOUtilstoString(responsegetEntity()getContent());
Systemoutprintln(result);
} catch (Exception e) {
eprintStackTrace();
}
net http webapi
public HttpResponseMessage Post()
{
var content = RequestContent;
var uploadDir = HttpContextCurrentServerMapPath("~/Upload");
var newFileName = "";
var sp = new MultipartMemoryStreamProvider();
TaskRun(async () => await RequestContentReadAsMultipartAsync(sp))Wait();
foreach (var item in spContents)
{
if (itemHeadersContentDispositionFileName != null)
{
var filename = itemHeadersContentDispositionFileNameReplace("\"", "");
newFileName = uploadDir + "\\" + filename;
var ms = itemReadAsStreamAsync()Result;
using (var br = new BinaryReader(ms))
{
var data = brReadBytes((int)msLength);
FileWriteAllBytes(newFileName, data);
}
}
}
var result = new Dictionary<string, string>();
resultAdd("result", newFileName);
var resp = RequestCreateResponse(HttpStatusCodeOK, result);
respContentHeadersContentType = new MediaTypeHeaderValue("text/plain");
return resp;
}
Unix和Linux平台下使用最广泛的免费HTTP服务器是Apache服务器,而Windows平台的服务器通常使用IIS作为Web服务器。选择Web服务器应考虑的因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等。下面是对常见服务器的简介:
-IIS:Microsoft的Web服务器产品,全称是InternetInformationServices。IIS是允许在公共Intranet或Internet上发布信息的Web服务器。IIS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(IntranetServerAPI)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。
-Kangle:KangleWeb服务器是一款跨平台、功能强大、安全稳定、易操作的高性能Web服务器和反向代理服务器软件。此外,Kangle也是一款专为做虚拟主机研发的Web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。支持PHP、ASP、ASPNET、Java、Ruby等多种动态开发语言。
-WebSphere:WebSphereApplicationServer是功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,它是基于Java的应用环境,用于建立、部署和管理Internet和IntranetWeb应用程序,适应各种Web应用程序服务器的需要。
-WebLogic:WebLogicServer是一款多功能、基于标准的Web应用服务器,为企业构建企业应用提供了坚实的基础。针对各种应用开发、关键性任务的部署,各种系统和数据库的集成、跨Internet协作等Weblogic都提供了相应的支持。由于它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发等优势,很多公司的企业级应用都选择它来作为开发和部署的环境。WebLogicServer在使应用服务器成为企业应用架构的基础方面一直处于领先地位,为构建集成化的企业级应用提供了稳固的基础。
-Apache:目前Apache仍然是世界上用得最多的Web服务器,其市场占有率很长时间都保持在60%以上(目前的市场份额约40%左右)。世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支强大的开发团队、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
-Tomcat:Tomcat是一个开放源代码、运行Servlet和JSP的容器。Tomcat实现了Servlet和JSP规范。此外,Tomcat还实现了Apache-Jakarta规范而且比绝大多数商业应用软件服务器要好,因此目前也有不少的Web服务器都选择了Tomcat。
-Nginx:读作"enginex",是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler站点开发的,第一个公开版本010发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。在2014年下半年,Nginx的市场份额达到了14%。
0条评论