Web服务器怎么接收Android发送过来的文件信息

Web服务器怎么接收Android发送过来的文件信息,第1张

直接用 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;

}

这几天小明又有烦恼了,之前给小红的接口没有做认证授权,直接裸奔在线上,被马老板发现后狠狠的骂了一顿,赶紧让小明把授权加上。赶紧Baidu一下,发现大家都在用JWT认证授权,这个倒是挺适合自己的。

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519)该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

从图中可以看出主要有两部分组成:1、获取Token,2、通过Token进行授权。

首先 ,安装JwtBearer包。

接下来 ,定义一个配置类,我这里为了简单直接用常量代替了,你也可以放在配置文件中。

接下来 ,定义一个通过用户名和密码,获取Token的控制器。

接下来 ,添加Token身份认证到容器(StartupConfigureServices)。

接下来 ,添加身份认证到中间件(StartupConfigure)。

接下来 ,控制器需要授权控制的添加[Authorize]。

最后 ,我们测试一下接口,效果如下。

这时会返回401,因为身份认证没有通过,说明身份验证起效果了。

接下来我们访问一下GetAccessToken接口,拿到Token,在访问GetTodo接口时放入Token,我们可以看到访问成功了。

目前为止,小明把授权认证搞定了,赶紧给马老板汇报工作去吧。当然这个授权认证还是非常简单的,还有很多等待的小伙伴们去发掘,比如如何自动刷新Token?如何强制Token失效?OAuth其他实现方式等等?大家如果有兴趣,让小明下次告诉你们。

web api token是网络编程语言,而Basic是最基本的编程语言。

一、网络编程语言ASP。

ASP即Active Server Pages,是MicroSOft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本置标语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。[1-2]

ASP简单、易于维护 , 是小型页面应用程序的选择 ,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情况下, ASP甚至可以实现中等规模的企业应用程序。[

ASP程序的运行对硬件环境没有特别的要求,通常具备能够满足Windows操作系统运行要求的硬件设备即可。基本内存容量要求为64MB,建议内存容量为128MB或更多。此外,应该有1G以上的硬盘空问用来安装所需的软件。

asp软件环境

在软件环境方面,因为ASP是Microsoft公司推出的,只有在Microsoft Windows操作系统及其配套的web服务器软件的支持下才能运行。MicrosoR公司的各种wiIldows操作系统都可以作为ASP的运行平台。其中,在wiIIdows 98操作系统下运行的Personal w曲Server,一般简称为PWS,而hltcmeIll:folma缸on SeⅣer,则简称为IIS。[5

二、Basic。

BASIC(Beginners' All-purpose Symbolic Instruction Code,又译培基),意思就是“初学者通用符号指令代码”,是一种设计给初学者使用的程序设计语言。BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续即可执行,但如果需要单独执行时仍然需要将其建立成执行档。

BASIC是由达特茅斯学院院长、匈牙利人约翰·凯梅尼(John G Kemeny)与数学系教师托马斯·卡茨(Thomas E Kurtz)共同研制出来的。1964年BASIC语言正式发布。第一个BASIC程序在1964年5月1日早上4时,由BASIC编译程序进行编译后成功运行[1] 。1975年,比尔·盖茨把它移植到PC上。

1998年6月15日,Microsoft公司推出Visual BASIC的第6版(即60版本),之后,又推出Visual Basic 60中文版[4] 。VB 60作为Microsoft Visual Studio 60工具套件之一,它提供了图形化、ODBC实现整合资料浏览工具平台,提供了与Oracle和SQL Server的数据库链接工具。VB 60的Web开发特性可以使得开发人员以更方便、组件式的方法,开发各种HTML和动态HTML的应用程序。这些新特性,使得VB 60成为建立可扩展的企业应用开发平台的理想选择[6] 。Microsoft公司总裁比尔·盖茨宣称:“Visual BASIC是迎接计算机程序设计挑战的最好例子”[4] 。

2001年,VBNET发布。由于使用了新的核心和特性,很多VB的程序员都要改写程序。2005年11月7日,VBNET 2005(v80)发布。它可以直接设计出Windows XP风格的界面,但是其编写的程序占用内存较多。2010年4月,VBNET 2010(v100)发布[6] 。

Visual BASIC属于第四代BASIC,第四代BASIC的特点是:提供图形界面取代过去的字符界面,是“for Windows”的软件[4] 。

首先要重点说的是,Web API是一种无限接近于RESTful风格的轻型框架,且不是微软提出来的,微软在NET上实现了这中框架—http://AspNet

Web API,所以“微软包装”是一个极大的偏见。

就应用市场时间而论,MVC普及市场的时间比Web API时间早。为什么MVC提出来了,且都被大家公认是一种经典的web站点实现架构,为什么还要搞Web API呢?

这两年什么炒得最火热?互联网。在网络技术不断更新和替代的过程,网络不断普及。互联网产品只要你有技术,就可以做。但要说明的是,互联网产品的用户不再是一小部分人群,除了潜在用户,你需要面对的是庞大的上网人群和开发者。这时候你要考虑你的WEB服务器是否能够支持这么多的用户,节省一点点传输数据的带宽都能够让你的服务器轻松不少,除此之外,你还要考虑你的潜在用户变成你的真实用户的某刻时刻,你的服务器是否能够顺利支撑。

面对用户,你要考虑你的产品是否能够让用户使用起来感觉很“爽”,你要把用户体验放在首位,那么你的产品首先功能上必须稳定,不然即使有再好的创意,再耐心的用户总会使用其它产品替代你的产品。

面对开发者,你想要把某些功能开放,这时候你必须要开放某些接口。有人会说,我也可以使用MVC来开放这些接口,没错是可以,但是绕远道给你带来的是更大的代价。

Web API 和 MVC可以说是两个不同的东西。Web API更倾向于基于HTTP协议的服务,直接返回用户的数据请求。MVC是建站的一种框架,倾向于返回用户的页面请求。

我总结了以下 http://ASPNET Web API 的特性,更能说明Web API是一种数据请求框架:

http://ASPNET

Web API 可以根据请求报文来返回的相应数据格式。包括JSON和XML。

http://ASPNET

Web API 单独做数据请求和MVC做页面请求可以让Web前端和后台更好的解耦,减少开发难度。

Web API 可以更好地用在移动端网页、桌面端网页或者桌面程序。

Web API 的宿主可以选择多样:WebHost,,ConsoleHost,甚至是windows Services。

类似可以理解成ashx和webform的区别

看你的代码,你是不是POST的时候忘记带上某些参数,如access_token。

403错误是一种禁止访问的错误,你发出的请求被服务器可能由于未经过验证所以请求被服务器拒绝了。

以下是自己的个人看法,你可以参考下。 绝对路径还有一种表示方法就是以服务器命名开始(如在本机中http://localhost)的完整描述文件学习位置的路径,如通过IIS简历一个站点,站点下面有个文件叫testhtm,那么用绝对路径来显示这个

相对路径主要用在我们的网站上,当ASP在发布一个目录时,如果在Web上也像一样,就不会显示在正常的页面。

具体的情况你可以多去后盾人学习教学视频,这样才会更加准确。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Web服务器怎么接收Android发送过来的文件信息

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情