-
Notifications
You must be signed in to change notification settings - Fork 37
/
182-java-1.html
218 lines (178 loc) · 6.95 KB
/
182-java-1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>葡萄藤PPT</title>
<link rel="stylesheet" href="./css/reveal/reveal.css">
<!-- PPT主题,可以在/css/reveal/theme/中选择其他主题,目前暂时只能使用该模板 -->
<link rel="stylesheet" href="./css/reveal/theme/ptt.css">
<!-- syntax highlighting 代码高亮主题 -->
<link rel="stylesheet" href="./lib/reveal/css/zenburn.css">
<!-- 打印和PDF输出样式 -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? './css/reveal/print/pdf.css' : '../css/reveal/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<img src="./img/demo/logo.png" alt="" usemap="#pttmap" class="base-logo">
<map name="pttmap">
<area shape="rect" coords="0,0,276,58" href="http://www.jnshu.com" alt="" target="_blank"/>
</map>
<div class="reveal">
<div class="slides">
<section>
<h2>复盘项目图片上传</h2>
<p></p>
<h3>java分享会</h3>
<p>分享人:北京分院 于博韬</p>
</section>
<section>
<p>1.背景介绍</p>
<p>2.知识剖析</p>
<p>3.常见问题</p>
<p>4.解决方案</p>
<p>5.编码实战</p>
<p>6.扩展思考</p>
<p>7.参考文献</p>
<p>8.更多讨论</p>
</section>
<section>
<h3>1.背景介绍</h3>
</section>
<section>
<p>做复盘的时候基本都需要图片上传</p>
<p>这里其实不难,但是对于第一次接触,可能还会有点问题</p>
</section>
<section>
<p>
那我们就开始吧
</p>
</section>
<section>
<h3>2.知识剖析</h3>
</section>
<section>
<p>图片上传使用的东西,核心还是公司封装好的工具类</p>
<p>
但是使用工具类之前,有一个不一样的操作,这个和我们任务七是不一样的
</p>
</section>
<section>
<p>
在任务中,我们是通过调用第三方工具类,直接在本地通过上传文件的形式,提交文件信息,不论是form表单提交,还是使用其他的形式,核心都是
</p>
</section>
<section>
<p>
流
</p>
</section>
<section>
<h3>3.常见问题</h3>
</section>
<section>
<p>流这个东西,很奇妙,我们就谈谈流</p>
</section>
<section>
<h3>4.解决方案</h3>
</section>
<section>
<p>一般我们接触过的,比较多的可能是这两个流:InputStream和OutputStream</p>
<p>就是最常说的字节输入,输出流</p>
<p>还有一种是字符流:Reader和Writer</p>
</section>
<section>
<p>不过今天讲的内容和这个有关系,但是不展开</p>
</section>
<section>
<p>这里还要提的就是网络传输中,是如何收发数据的</p>
<p>这就又涉及到,Request,Response,以及关键的Header,即请求头和响应头</p>
</section>
<section>
<p>不过我说了这么多,还是和今天的主题关系不大,哈哈哈</p>
<p>还是先看公司这个图片上传把</p>
</section>
<section>
<h3>5.编码实战</h3>
</section>
<section>
<p>认真听我讲解,仔细看我操作
</p>
</section>
<section>
<h3>6.扩展思考</h3>
</section>
<section>
<p>前面卖了那么多关子,知道你们一定想打我,所以在这拓展一下之前说的东西
</p>
</section>
<section>
<p>我们上传文件的时候,请求头是什么样子的
</p>
</section>
<section>
<p>这里可以看一下我2017年11月8日的日报
</p>
</section>
<section>
<p>说白了,文件内容是在请求头中,一起发送出去的,和我们发送参数什么的基本一致,不过做了一点小小的不一样的处理而已
</p>
</section>
<section>
<p>哈哈哈哈,最后还是被我套路了
</p>
</section>
<section>
<h3>7.参考文献</h3>
<p>http://www.jnshu.com/daily/39357?dailyType=others&total=143&page=11&uid=10373&sort=0&orderBy=3</p>
</section>
<section>
<h3>8.更多讨论</h3>
<p></p>
</section>
<section>
<h4>鸣谢</h4>
<p>感谢观看,如有出错,恳请指正</p>
<p><small>BY : 北京分院 于博韬</small></p>
</section>
</div>
</div>
<script src="./lib/reveal/js/head.min.js"></script>
<script src="./lib/reveal/reveal.js"></script>
<script>
// 以下为常见配置属性的默认值
// {
// controls: true, // 是否在右下角展示控制条
// progress: true, // 是否显示演示的进度条
// slideNumber: false, // 是否显示当前幻灯片的页数编号,也可以使用代码slideNumber: 'c / t' ,表示当前页/总页数。
// history: false, // 是否将每个幻灯片改变加入到浏览器的历史记录中去
// keyboard: true, // 是否启用键盘快捷键来导航
// overview: true, // 是否启用幻灯片的概览模式,可使用"Esc"或"o"键来切换概览模式
// center: true, // 是否将幻灯片垂直居中
// touch: true, // 是否在触屏设备上启用触摸滑动切换
// loop: false, // 是否循环演示
// rtl: false, // 是否将演示的方向变成RTL,即从右往左
// fragments: true, // 全局开启和关闭碎片。
// autoSlide: 0, // 两个幻灯片之间自动切换的时间间隔(毫秒),当设置成 0 的时候则禁止自动切换,该值可以被幻灯片上的 ` data-autoslide` 属性覆盖
// transition: 'default', // 切换过渡效果,有none/fade/slide/convex/concave/zoom
// transitionSpeed: 'default', // 过渡速度,default/fast/slow
// mouseWheel: true, //是否启用通过鼠标滚轮来切换幻灯片
// }
// 初始化幻灯片
Reveal.initialize({
history: true,
dependencies: [
{ src: './plugin/markdown/marked.js' },
{ src: './plugin/markdown/markdown.js' },
{ src: './plugin/notes/notes.js', async: true },
{ src: './plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>