1<!DOCTYPE HTML> 2<html lang="zh-CN"> 3 4 5<head> 6 <meta charset="utf-8"> 7 <meta name="keywords" content="使ç¨okhttpåépostè¯·æ±æ¶ï¼ä½¿ç¨streamä½ä¸ºbody, é£ç¿çç§å"> 8 <meta name="description" content="使ç¨okhttpè¿è¡httpè¯·æ±æ¶ï¼å¦æpost bodyé¿åº¦æªç¥ï¼éè¦ä½¿ç¨InputStreamä½ä¸ºbodyä¼ è¾æ°æ®ãokhttp没ææä¾ç±»ä¼¼RequestBody.create(File strean)æ¤ç±»å¿«æ·è°ç¨æ¹æ³ï¼éè¦è°ç¨è æå¨æ"> 9 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 10 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 11 <meta name="renderer" content="webkit|ie-stand|ie-comp"> 12 <meta name="mobile-web-app-capable" content="yes"> 13 <meta name="format-detection" content="telephone=no"> 14 <meta name="apple-mobile-web-app-capable" content="yes"> 15 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> 16 <meta name="referrer" content="no-referrer-when-downgrade"> 17 <!-- Global site tag (gtag.js) - Google Analytics --> 18 19 20 <title>使ç¨okhttpåépostè¯·æ±æ¶ï¼ä½¿ç¨streamä½ä¸ºbody | é£ç¿çç§å</title> 21 <link rel="icon" type="image/png" href="/favicon.png"> 22 23 <link rel="stylesheet" type="text/css" href="/libs/awesome/css/all.min.css"> 24 <link rel="stylesheet" type="text/css" href="/libs/materialize/materialize.min.css"> 25 <link rel="stylesheet" type="text/css" href="/libs/aos/aos.css"> 26 <link rel="stylesheet" type="text/css" href="/libs/animate/animate.min.css"> 27 <link rel="stylesheet" type="text/css" href="/libs/lightGallery/css/lightgallery.min.css"> 28 <link rel="stylesheet" type="text/css" href="/css/matery.css"> 29 <link rel="stylesheet" type="text/css" href="/css/my.css"> 30 31
31<script src="/libs/jquery/jquery-3.6.0.min.js"></script>
31 32 33<meta name="generator" content="Hexo 8.1.1"> 34<style>.github-emoji { position: relative; display: inline-block; width: 1.2em; min-height: 1.2em; overflow: hidden; vertical-align: top; color: transparent; } .github-emoji > span { position: relative; z-index: 10; } .github-emoji img, .github-emoji .fancybox { margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; text-decoration: none !important; user-select: none !important; cursor: auto !important; } .github-emoji img { height: 1.2em !important; width: 1.2em !important; position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; user-select: none !important; cursor: auto !important; } .github-emoji-fallback { color: inherit; } .github-emoji-fallback img { opacity: 0 !important; }</style> 35</head> 36 37 38 39 40<body> 41 <header class="navbar-fixed"> 42 <nav id="headNav" class="bg-color nav-transparent"> 43 <div id="navContainer" class="nav-wrapper container"> 44 <div class="brand-logo"> 45 <a href="/" class="waves-effect waves-light"> 46 47 <img src="/medias/logo.png" class="logo-img" alt="LOGO"> 48 49 <span class="logo-span">é£ç¿çç§å</span> 50 </a> 51 </div> 52 53 54<a href="#" data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fas fa-bars"></i></a> 55<ul class="right nav-menu"> 56 57 <li class="hide-on-med-and-down nav-item"> 58 59 <a href="/" class="waves-effect waves-light"> 60 61 <i class="fas fa-home" style="zoom: 0.6;"></i> 62 63 <span>é¦é¡µ</span> 64 </a> 65 66 </li> 67 68 <li class="hide-on-med-and-down nav-item"> 69 70 <a href="/tags" class="waves-effect waves-light"> 71 72 <i class="fas fa-tags" style="zoom: 0.6;"></i> 73 74 <span>æ ç¾</span> 75 </a> 76 77 </li> 78 79 <li class="hide-on-med-and-down nav-item"> 80 81 <a href="/archives" class="waves-effect waves-light"> 82 83 <i class="fas fa-archive" style="zoom: 0.6;"></i> 84 85 <span>彿¡£</span> 86 </a> 87 88 </li> 89 90 <li class="hide-on-med-and-down nav-item"> 91 92 <a href="/about" class="waves-effect waves-light"> 93 94 <i class="fas fa-user-circle" style="zoom: 0.6;"></i> 95 96 <span>å ³äº</span> 97 </a> 98 99 </li> 100 101 <li> 102 <a href="#searchModal" class="modal-trigger waves-effect waves-light"> 103 <i id="searchIcon" class="fas fa-search" title="æç´¢" style="zoom: 0.85;"></i> 104 </a> 105 </li> 106</ul> 107 108 109<div id="mobile-nav" class="side-nav sidenav"> 110 111 <div class="mobile-head bg-color"> 112 113 <img src="/medias/logo.png" class="logo-img circle responsive-img"> 114 115 <div class="logo-name">é£ç¿çç§å</div> 116 <div class="logo-desc"> 117 118 Never really desperate, only the lost of the soul. 119 120 </div> 121 </div> 122 123 <ul class="menu-list mobile-menu-list"> 124 125 <li class="m-nav-item"> 126 127 <a href="/" class="waves-effect waves-light"> 128 129 <i class="fa-fw fas fa-home"></i> 130 131 é¦é¡µ 132 </a> 133 134 </li> 135 136 <li class="m-nav-item"> 137 138 <a href="/tags" class="waves-effect waves-light"> 139 140 <i class="fa-fw fas fa-tags"></i> 141 142 æ ç¾ 143 </a> 144 145 </li> 146 147 <li class="m-nav-item"> 148 149 <a href="/archives" class="waves-effect waves-light"> 150 151 <i class="fa-fw fas fa-archive"></i> 152 153 彿¡£ 154 </a> 155 156 </li> 157 158 <li class="m-nav-item"> 159 160 <a href="/about" class="waves-effect waves-light"> 161 162 <i class="fa-fw fas fa-user-circle"></i> 163 164 å ³äº 165 </a> 166 167 </li> 168 169 170 </ul> 171</div> 172 173 174 </div> 175 176 177 </nav> 178 179</header> 180 181 182 183 184 185<div class="bg-cover pd-header post-cover" style="background-image: url('/medias/featureimages/15.jpg')"> 186 <div class="container" style="right: 0px;left: 0px;"> 187 <div class="row"> 188 <div class="col s12 m12 l12"> 189 <div class="brand"> 190 <h1 class="description center-align post-title">使ç¨okhttpåépostè¯·æ±æ¶ï¼ä½¿ç¨streamä½ä¸ºbody</h1> 191 </div> 192 </div> 193 </div> 194 </div> 195</div> 196 197 198 199 200<main class="container content"> 201 202 203 <!-- æç« å 容详æ --> 204<div id="artDetail"> 205 <div class="card"> 206 <div class="card-content article-info"> 207 <div class="row tag-cate"> 208 <div class="col s7"> 209 210 <div class="article-tag"> 211 212 <a href="/tags/Java/">
213 <span class="chip bg-color">Java</span> 214 </a> 215 216 <a href="/tags/HTTP/"> 217 <span class="chip bg-color">HTTP</span> 218 </a> 219 220 <a href="/tags/OkHttp/"> 221 <span class="chip bg-color">OkHttp</span> 222 </a> 223 224 </div> 225 226 </div> 227 <div class="col s5 right-align"> 228 229 </div> 230 </div> 231 232 <div class="post-info"> 233 234 <div class="post-date info-break-policy"> 235 <i class="far fa-calendar-minus fa-fw"></i>å叿¥æ: 236 2022-01-13 237 </div> 238 239 240 241 242 243 <div class="info-break-policy"> 244 <i class="far fa-file-word fa-fw"></i>æç« åæ°: 245 164 246 </div> 247 248 249 250 <div class="info-break-policy"> 251 <i class="far fa-clock fa-fw"></i>é 读æ¶é¿: 252 1 å 253 </div> 254 255 256 257 </div> 258 </div> 259 <hr class="clearfix"> 260 261 262 <!-- æ¯å¦å 载使ç¨èªå¸¦ç prismjs. --> 263 <link rel="stylesheet" href="/libs/prism/prism.css"> 264 265 266 267 268 <div class="card-content article-card-content"> 269 <div id="articleContent"> 270 <p>使ç¨okhttpè¿è¡httpè¯·æ±æ¶ï¼å¦æpost bodyé¿åº¦æªç¥ï¼éè¦ä½¿ç¨InputStreamä½ä¸ºbodyä¼ è¾æ°æ®ã<br>okhttp没ææä¾ç±»ä¼¼RequestBody.create(File strean)æ¤ç±»å¿«æ·è°ç¨æ¹æ³ï¼éè¦è°ç¨è æå¨æé RequestBodyã<br>åç §å®æ¹æ ·ä¾ï¼è¿è¡ä¿®æ¹ï¼å¦ä¸ä»£ç ï¼<br><a target="_blank" rel="noopener" href="https://square.github.io/okhttp/recipes/#post-streaming-kt-java">
270https://square.github.io/okhttp/recipes/#post-streaming-kt-java</a></p> 271<pre class="language-java" data-language="java"><code class="language-java"><span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token class-name">RequestBody</span> <span class="token function">createInputStreamRequestBody</span><span class="token punctuation">(</span><span class="token keyword">final</span> <span class="token class-name">InputStream</span> stream<span class="token punctuation">)</span> <span class="token punctuation">{</span> 272 <span class="token keyword">new</span> <span class="token class-name"><span class="token namespace">okhttp3<span class="token punctuation">.</span></span>RequestBody</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> 273 <span class="token annotation punctuation">@Override</span> 274 <span class="token keyword">public</span> <span class="token class-name">MediaType</span> <span class="token function">contentType</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> 275 <span class="token comment">// 设置body mimeç±»åï¼è¿é以äºè¿å¶æµä¸ºä¾</span> 276 <span class="token keyword">return</span> <span class="token class-name">MediaType</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"application/octet-stream"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> 277 <span class="token punctuation">}</span> 278 279 <span class="token annotation punctuation">@Override</span> 280 <span class="token keyword">public</span> <span class="token keyword">long</span> <span class="token function">contentLength</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">throws</span> <span class="token class-name">IOException</span> <span class="token punctuation">{</span> 281 <span class="token comment">// è¿å-1表示bodyé¿åº¦æªç¥ï¼å°å¼å¯http chunkæ¯æ</span> 282 <span class="token comment">// RequestBodyä¸é»è®¤è¿å乿¶-1</span> 283 <span class="token keyword">return</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span> 284 <span class="token punctuation">}</span> 285 286 <span class="token annotation punctuation">@Override</span> 287 <span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">writeTo</span><span class="token punctuation">(</span><span class="token class-name">BufferedSink</span> sink<span class="token punctuation">)</span> <span class="token keyword">throws</span> <span class="token class-name">IOException</span> <span class="token punctuation">{</span> 288 <span class="token keyword">try</span> <span class="token punctuation">(</span><span class="token class-name">Source</span> source <span class="token operator">=</span> <span class="token class-name">Okio</span><span class="token punctuation">.</span><span class="token function">source</span><span class="token punctuation">(</span>stream<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> 289 sink<span class="token punctuation">.</span><span class="token function">writeAll</span><span class="token punctuation">(</span>source<span class="token punctuation">)</span><span class="token punctuation">;</span> 290 <span class="token punctuation">}</span> 291 <span class="token punctuation">}</span> 292 <span class="token punctuation">}</span><span class="token punctuation">;</span> 293<span class="token punctuation">}</span></code></pre> 294 295 296 </div> 297 <hr/> 298 299 300 301 <div class="reprint" id="reprint-statement"> 302 303 <div class="reprint__author">
304 <span class="reprint-meta" style="font-weight: bold;"> 305 <i class="fas fa-user"> 306 æç« ä½è : 307 </i> 308 </span> 309 <span class="reprint-info"> 310 <a href="/about" rel="external nofollow noreferrer">2356</a> 311 </span> 312 </div> 313 <div class="reprint__type"> 314 <span class="reprint-meta" style="font-weight: bold;"> 315 <i class="fas fa-link"> 316 æç« 龿¥: 317 </i> 318 </span> 319 <span class="reprint-info"> 320 <a href="https://ysliu.cc/2022/01/13/okhttp-post-stream/">https://ysliu.cc/2022/01/13/okhttp-post-stream/</a> 321 </span> 322 </div> 323 <div class="reprint__notice"> 324 <span class="reprint-meta" style="font-weight: bold;"> 325 <i class="fas fa-copyright"> 326 çæå£°æ: 327 </i> 328 </span> 329 <span class="reprint-info"> 330 æ¬åå®¢æææç« é¤ç¹å¥å£°æå¤ï¼åéç¨ 331 <a href="https://creativecommons.org/licenses/by/4.0/deed.zh" rel="external nofollow noreferrer" target="_blank">CC BY 4.0</a> 332 许å¯åè®®ãè½¬è½½è¯·æ³¨ææ¥æº 333 <a href="/about" target="_blank">2356</a> 334 ! 335 </span> 336 </div> 337 338 </div> 339 340
340<script async defer> 341 document.addEventListener("copy", function (e) { 342 let toastHTML = '<span>å¤å¶æåï¼è¯·éµå¾ªæ¬æç转载è§å</span><button class="btn-flat toast-action" onclick="navToReprintStatement()" style="font-size: smaller">æ¥ç</a>'; 343 M.toast({html: toastHTML}) 344 }); 345 346 function navToReprintStatement() { 347 $("html, body").animate({scrollTop: $("#reprint-statement").offset().top - 80}, 800); 348 } 349 </script>
349 350 351 352 353 <div class="tag_share" style="display: block;"> 354 <div class="post-meta__tag-list" style="display: inline-block;"> 355 356 <div class="article-tag"> 357 358 <a href="/tags/Java/"> 359 <span class="chip bg-color">Java</span> 360 </a> 361 362 <a href="/tags/HTTP/"> 363 <span class="chip bg-color">HTTP</span> 364 </a> 365 366 <a href="/tags/OkHttp/"> 367 <span class="chip bg-color">OkHttp</span> 368 </a> 369 370 </div> 371 372 </div> 373 <div class="post_share" style="zoom: 80%; width: fit-content; display: inline-block; float: right; margin: -0.15rem 0;"> 374 <link rel="stylesheet" type="text/css" href="/libs/share/css/share.min.css"> 375<div id="article-share"> 376 377 378 379 380 381</div> 382 383 </div> 384 </div> 385 386 </div> 387 </div> 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409<article id="prenext-posts" class="prev-next articles"> 410 <div class="row article-row"> 411 412 <div class="article col s12 m6" data-aos="fade-up"> 413 <div class="article-badge left-badge text-color"> 414 <i class="fas fa-chevron-left"></i> ä¸ä¸ç¯</div> 415 <div class="card"> 416 <a href="/2022/06/20/k8s-1.24-failed-to-init/"> 417 <div class="card-image"> 418 419 420 <img src="/medias/featureimages/21.jpg" class="responsive-img" alt="è§£å³k8s 1.24 kubeadm initæ§è¡å¤±è´¥çé®é¢"> 421 422 <span class="card-title">è§£å³k8s 1.24 kubeadm initæ§è¡å¤±è´¥çé®é¢</span> 423 </div> 424 </a> 425 <div class="card-content article-content"> 426 <div class="summary block-with-text"> 427 428 429 430 </div> 431 <div class="publish-info"> 432 <span class="publish-date"> 433 <i class="far fa-clock fa-fw icon-date"></i>2022-06-20 434 </span> 435 <span class="publish-author"> 436 437 <i class="fas fa-user fa-fw"></i> 438 2356 439 440 </span> 441 </div> 442 </div> 443 444 <div class="card-action article-tags"> 445 446 <a href="/tags/%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF/"> 447 <span class="chip bg-color">å¼åææ¯</span> 448 </a> 449 450 <a href="/tags/Kubernets/"> 451 <span class="chip bg-color">Kubernets</span> 452 </a> 453 454 </div> 455 456 </div> 457 </div> 458 459 460 <div class="article col s12 m6" data-aos="fade-up"> 461 <div class="article-badge right-badge text-color"> 462 ä¸ä¸ç¯ <i class="fas fa-chevron-right"></i> 463 </div> 464 <div class="card"> 465 <a href="/2021/12/30/archive-email-by-receive-time/"> 466 <div class="card-image"> 467 468 469 <img src="/medias/featureimages/10.jpg" class="responsive-img" alt="Outlookææ¥æå½æ¡£ä¸å®æ´çé®é¢å¤ç"> 470 471 <span class="card-title">Outlookææ¥æå½æ¡£ä¸å®æ´çé®é¢å¤ç</span> 472 </div> 473 </a> 474 <div class="card-content article-content"> 475 <div class="summary block-with-text"> 476 477 478 479 </div> 480 <div class="publish-info">
481 <span class="publish-date"> 482 <i class="far fa-clock fa-fw icon-date"></i>2021-12-30 483 </span> 484 <span class="publish-author"> 485 486 <i class="fas fa-user fa-fw"></i> 487 2356 488 489 </span> 490 </div> 491 </div> 492 493 <div class="card-action article-tags"> 494 495 <a href="/tags/Outlook/"> 496 <span class="chip bg-color">Outlook</span> 497 </a> 498 499 </div> 500 501 </div> 502 </div> 503 504 </div> 505</article> 506 507</div> 508 509 510 511<!-- 代ç ååè½ä¾èµ -->
512<script type="text/javascript" src="/libs/codeBlock/codeBlockFuction.js"></script>
512 513 514<!-- 代ç è¯è¨ --> 515
516<script type="text/javascript" src="/libs/codeBlock/codeLang.js"></script>
516 517 518 519<!-- 代ç åå¤å¶ --> 520
521<script type="text/javascript" src="/libs/codeBlock/codeCopy.js"></script>
521 522 523 524<!-- 代ç åæ¶ç¼© --> 525
526<script type="text/javascript" src="/libs/codeBlock/codeShrink.js"></script>
526 527 528 529 530 531</main> 532 533 534 535 536 <footer class="page-footer bg-color"> 537 538 <link rel="stylesheet" href="/libs/aplayer/APlayer.min.css"> 539<style> 540 .aplayer .aplayer-lrc p { 541 542 display: none; 543 544 font-size: 12px; 545 font-weight: 700; 546 line-height: 16px !important; 547 } 548 549 .aplayer .aplayer-lrc p.aplayer-lrc-current { 550 551 display: none; 552 553 font-size: 15px; 554 color: #42b983; 555 } 556 557 558 .aplayer.aplayer-fixed.aplayer-narrow .aplayer-body { 559 left: -66px !important; 560 } 561 562 .aplayer.aplayer-fixed.aplayer-narrow .aplayer-body:hover { 563 left: 0px !important; 564 } 565 566 567</style> 568<div class=""> 569 570 <div class="row"> 571 <meting-js class="col l8 offset-l2 m10 offset-m1 s12" 572 server="netease" 573 type="playlist" 574 id="503838841" 575 fixed='true' 576 autoplay='false' 577 theme='#42b983' 578 loop='all' 579 order='random' 580 preload='auto' 581 volume='0.7' 582 list-folded='true' 583 > 584 </meting-js> 585 </div> 586</div> 587
588<script src="/libs/aplayer/APlayer.min.js"></script>
vendor: 1 bytes, line 588
588
589<script src="/libs/aplayer/Meting.min.js"></script>
589 590 591 592 593 <div class="container row center-align" 594 style="margin-bottom: 0px !important;"> 595 <div class="col s12 center-align copy-right"> 596 Copyright © 597 598 <span id="year">2019-2026</span> 599 600 <a href="/about" target="_blank">2356</a> 601 | Powered by <a href="https://hexo.io/" target="_blank">Hexo</a> 602 | Theme <a href="https://github.com/blinkfox/hexo-theme-matery" target="_blank">Matery</a> 603 <br> 604 <img src="/medias/icp.png"/><span id="icp"> 605 </span><a href="https://beian.mps.gov.cn/#/query/webSearch?code=11010802045350" target="_blank">äº¬å ¬ç½å®å¤11010802045350å·</a> 606 | <a href="https://beian.miit.gov.cn/" target="_blank">京ICPå¤19013800å·</a> 607 608 | <a href="mailto:[email protected]" class="tooltipped" target="_blank" data-tooltip="é®ä»¶èç³»æ" data-position="top" data-delay="50"><i class="fas fa-envelope-open"></i></a> 609 610 <br> 611 612 613 614 615 616 <br> 617 618 <!-- è¿è¡å¤©æ°æé. --> 619 620 <br> 621 622 </div> 623 </div> 624</footer> 625 626<div class="progress-bar"></div> 627 628 629 <!-- æç´¢é®ç½©æ¡ --> 630<div id="searchModal" class="modal"> 631 <div class="modal-content"> 632 <div class="search-header"> 633 <span class="title"><i class="fas fa-search"></i> æç´¢</span> 634 <input type="search" id="searchInput" name="s" placeholder="请è¾å ¥æç´¢çå ³é®å" 635 class="search-input"> 636 </div> 637 <div id="searchResult"></div> 638 </div> 639</div> 640
641<script type="text/javascript"> 642$(function () { 643 var searchFunc = function (path, search_id, content_id) { 644 'use strict'; 645 $.ajax({ 646 url: path, 647 dataType: "xml", 648 success: function (xmlResponse) { 649 // get the contents from search data 650 var datas = $("entry", xmlResponse).map(function () { 651 return { 652 title: $("title", this).text(), 653 content: $("content", this).text(), 654 url: $("url", this).text() 655 }; 656 }).get(); 657 var $input = document.getElementById(search_id); 658 var $resultContent = document.getElementById(content_id); 659 $input.addEventListener('input', function () { 660 var str = '<ul class=\"search-result-list\">'; 661 var keywords = this.value.trim().toLowerCase().split(/[\s\-]+/); 662 $resultContent.innerHTML = ""; 663 if (this.value.trim().length <= 0) { 664 return; 665 } 666 // perform local searching 667 datas.forEach(function (data) { 668 var isMatch = true; 669 var data_title = data.title.trim().toLowerCase(); 670 var data_content = data.content.trim().replace(/<[^>]+>/g, "").toLowerCase(); 671 var data_url = data.url; 672 data_url = data_url.indexOf('/') === 0 ? data.url : '/' + data_url; 673 var index_title = -1; 674 var index_content = -1; 675 var first_occur = -1; 676 // only match artiles with not empty titles and contents 677 if (data_title !== '' && data_content !== '') { 678 keywords.forEach(function (keyword, i) { 679 index_title = data_title.indexOf(keyword); 680 index_content = data_content.indexOf(keyword); 681 if (index_title < 0 && index_content < 0) { 682 isMatch = false; 683 } else { 684 if (index_content < 0) { 685 index_content = 0; 686 } 687 if (i === 0) { 688 first_occur = index_content; 689 } 690 } 691 }); 692 } 693 // show search results 694 if (isMatch) { 695 str += "<li><a href='" + data_url + "' class='search-result-title'>" + data_title + "</a>"; 696 var content = data.content.trim().replace(/<[^>]+>/g, ""); 697 if (first_occur >= 0) { 698 // cut out 100 characters 699 var start = first_occur - 20; 700 var end = first_occur + 80; 701 if (start < 0) { 702 start = 0; 703 } 704 if (start === 0) { 705 end = 100; 706 } 707 if (end > content.length) { 708 end = content.length; 709 } 710 var match_content = content.substr(start, end); 711 // highlight all keywords 712 keywords.forEach(function (keyword) { 713 var regS = new RegExp(keyword, "gi"); 714 match_content = match_content.replace(regS, "<em class=\"search-keyword\">" + keyword + "</em>"); 715 }); 716 717 str += "<p class=\"search-result\">" + match_content + "...</p>" 718 } 719 str += "</li>"; 720 } 721 }); 722 str += "</ul>"; 723 $resultContent.innerHTML = str; 724 }); 725 } 726 }); 727 }; 728 729 searchFunc('/search.xml', 'searchInput', 'searchResult'); 730}); 731</script>
731 732 733 <!-- åå°é¡¶é¨æé® --> 734<div id="backTop" class="top-scroll"> 735 <a class="btn-floating btn-large waves-effect waves-light" href="#!"> 736 <i class="fas fa-arrow-up"></i> 737 </a> 738</div> 739 740 741
741<script src="/libs/materialize/materialize.min.js"></script>
741 742
742<script src="/libs/masonry/masonry.pkgd.min.js"></script>
742 743
743<script src="/libs/aos/aos.js"></script>
743 744
744<script src="/libs/scrollprogress/scrollProgress.min.js"></script>
744 745
745<script src="/libs/lightGallery/js/lightgallery-all.min.js"></script>
745 746
746<script src="/js/matery.js"></script>
746 747 748 749 <!--
749<script src='https://unpkg.com/mermaid@latest/dist/mermaid.min.js'></script>
749 --> 750
750<script src='/libs/mermaid/mermaid.min.js'></script>
750 751
751<script> 752 if (window.mermaid) { 753 mermaid.initialize({theme: 'forest'}); 754 } 755 </script>
755 756 757 758 759 760 <!-- éªè±ç¹æ --> 761 762 763 <!-- é¼ æ ææç¹æ --> 764 765 766 767
767<script src="https://ssl.captcha.qq.com/TCaptcha.js"></script>
767 768
768<script src="/libs/others/TencentCaptcha.js"></script>
768 769 <button id="TencentCaptcha" data-appid="xxxxxxxxxx" data-cbfn="callback" type="button" hidden></button> 770 771 772 <!-- Baidu Analytics --> 773 774 <!-- Baidu Push --> 775
776<script> 777 (function () { 778 var bp = document.createElement('script'); 779 var curProtocol = window.location.protocol.split(':')[0]; 780 if (curProtocol === 'https') { 781 bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; 782 } else { 783 bp.src = 'http://push.zhanzhang.baidu.com/push.js'; 784 } 785 var s = document.getElementsByTagName("script")[0]; 786 s.parentNode.insertBefore(bp, s); 787 })(); 788</script>
788 789 790 791
791<script src="/libs/others/clicklove.js" async="async"></script>
791 792 793 794 795 796 797 798 799 <!--è ¾è®¯å å°å·¢--> 800 801 802 803 804 805 806 807 808
808<script src="/libs/instantpage/instantpage.js" type="module"></script>
808 809 810 811</body> 812 813</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.