iOS WebView 加載本地資源(圖片,文件等)

NSString *path = [[NSBundle mainBundle] pathForResource:@"關于.docx" ofType:nil];  NSURL *url = [NSURL fileURLWithPath:path];  NSLog(@"%@", [self mimeType:url]);  //webview加載本地文件,可以使用加載數據的方式  //第一個誒參數是一個NSData, 本地文件對應的數據  //第二個參數是MIMEType  //第三個參數是編碼格式  //相對地址,一般加載本地文件不使用,可以在指定的baseURL中查找相關文件。  //以二進制數據的形式加載沙箱中的文件,  NSData *data = [NSData dataWithContentsOfFile:path];  [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];  
NSString *html;NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];NSString *htmlFilePath=[cachePath stringByAppendingPathComponent:@"123.html"];//    NSString *html=[[NSString alloc]initWithContentsOfFile:htmlFilePath encoding:NSUTF8StringEncoding error:nil];NSURL *baseURL= [NSURL fileURLWithPath:htmlFilePath];if ([[NSFileManager defaultManager] fileExistsAtPath:htmlFilePath]) {NSString *string = [NSString stringWithContentsOfFile:htmlFilePathencoding:NSUTF8StringEncodingerror:nil];if (string) {html = string;}}
//    NSString *path = [[NSBundle mainBundle] bundlePath];
//    NSURL *baseURL2 = [NSURL fileURLWithPath:path];[self.webView loadHTMLString:html baseURL:baseURL];

至于在沙盒里面的圖片,想加載到web里面,發現在模擬器里面是正常,然后再真機上加載不出來

參考這篇文章 iOS Native加載H5中的圖片??github? 源碼:https://github.com/CoderJackyHuang/iOSLoadWebViewImage

多次嘗試,無果,找資料時發現下面的方法可以加載沙盒中圖片

NSData *imageData=[NSData dataWithContentsOfFile:imagePath];//imagePath :沙盒圖片路徑
NSString *imageSource = [NSString stringWithFormat:@"data:image/jpg;base64,%@",[imageData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]];
NSString *strJs=[NSString stringWithFormat:@"document.images[0].src='%@'",imageSource];
[webView evaluateJavaScript:strJs completionHandler:^(id _Nullable response, NSError * _Nullable error) {NSLog(@"webView response: %@ error: %@", response, error);}];

?

轉載于:https://www.cnblogs.com/dhui69/p/5596917.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255059.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255059.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255059.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

本文以H264視頻流為例,講解解碼流數據的步驟。

本文以H264視頻流為例,講解解碼流數據的步驟。 為突出重點,本文只專注于討論解碼視頻流數據,不涉及其它(如開發環境的配置等)。如果您需要這方面的信息,請和我聯系。 準備變量 定義AVCodecContext。如…

2008-2021年商業銀行數據(農商行、城商行、國有行、股份制銀行)

2008-2021年商業銀行數據(農商行、城商行、國有行、股份制銀行) 1、時間:2008-2021年 2、范圍:1700銀行 3 、指標:證券簡稱、year、證券代碼、資產總計、負債合計、所有者權益合計、利潤總額、凈利潤、貸款總額、存…

EPSON 任務同步 改寫

有時需要在多個任務執行之前來使它們同步。如果預先知道執行每項任務所需要的時間,它們就可以通過簡單地等待由最慢的任務產生的信號來實現同步。然而,如果不知道那個任務是最慢的,就需要使用一個更復雜的同步化機制,如下所示VAL …

線程池的簡單使用

創建指定線程數量的線程池 private static ExecutorService scheduledTaskFactoryExecutor null;private boolean isCancled false;private static class ThreadFactoryTest implements ThreadFactory { Overridepublic Thread newThread(Runnable r) { Thread threa…

異常--自定義異常類

為什么要調用父類構造器? http://blog.csdn.net/rockpk008/article/details/52951856 轉載于:https://www.cnblogs.com/dwj-ngu/p/6576382.html

利用ffmpeg來進行視頻解碼的完整示例代碼

(轉)利用ffmpeg來進行視頻解碼的完整示例代碼(H.264) Decode() { FILE * inpf; int nWrite; int i,p; int nalLen; unsigned char * Buf; int got_picture, consumed_bytes; unsigned char *DisplayBuf; Displ…

安卓觀看免費視頻

http://www.imooc.com/search/course?wordsAndroid%E6%94%BB%E5%9F%8E%E7%8B%AE%E7%AC%AC%E4%B8%80%E8%AF%BE&page3 http://www.imooc.com/course/list?candroid&src360onebox http://www.bilibili.com/video/av2788563/index_4.html http://www.imooc.com/course/pr…

EtherCAT 網站鏈接

http://www.ethercat.org.cn/cn.htm EtherCAT技術介紹 EtherCAT系統組成和工作原理 EtherCAT采用主從式結構,主站PC機采用標準的100Base-TX以太網卡,從站采用專用芯片。系統控制周期由主站發起,主站發出下行電報,電報的最大有效數…

IEC 6-1131/3的5種標準編程語言

用于開發控制系統和商業管理系統的TRACE MODE6編程工具面向不同領域的軟件工程師. TRACE MODE6包含的五種編程語言為:Techno SFC、Techno LD、Techno FBD、Techno ST和Techno IL. 這些語言是下列IEC 6-1131/3標準語言的擴展: SFC(順序功能圖…

ngRx 官方示例分析 - 4.pages

Page 中通過構造函數注入 Store,基于 Store 進行數據操作。 注意 Component 使用了 changeDetection: ChangeDetectionStrategy.OnPush. OnPush means that the change detectors mode will be set to CheckOnce during hydration. /app/containers/collection-page…

用ffmpeg把yuv格式轉化為mpeg格式

http://blog.sina.com.cn/s/blog_5f5ad6a90100cs5k.html

方法:查詢MongoDB數據庫中最新一條數據(JAVA)

使用JAVA語言查詢MongoDB中某個數據庫某個集合的最新一條數據&#xff1a; MongoCollection<Document> cpu MongoClient.getDatabase("sysmgr").getCollection("cpu"); //獲取所需集合 Document dbo cpu.find().sort(descending("time"…

NoPause/NoEmgAbort的任務 與后臺任務的區別

NoPause/NoEmgAbort的任務示例 下面的例子顯示了一個程序&#xff0c;可以監視控制器的錯誤并根據錯誤編號在發生錯誤時切換I/O On/Off。 Function main Xqt ErrorMonitor, NoEmgAbort : FendFunction ErrorMonitor Wait ErrorOnIf 4000 < SysErr And Syserr < 5999 T…

30分鐘搞定后臺登錄界面(103個后臺PSD源文件、素材網站)(轉)

出處&#xff1a;http://www.cnblogs.com/best/p/6582294.html 目錄 一、界面預覽二、PSD源文件預覽三、工具分享四、資源說明五、素材下載網站六、下載去年八月時要做一個OA系統為了后臺界面而煩惱&#xff0c;后來寫了一篇博客&#xff08;《后臺管理UI的選擇》&#xff09;介…

Linux 查看服務器開放的端口號

在討論這個問題前&#xff0c;我們先來了解一下物理端口、邏輯端口、端口號等計算機概念。 端口相關的概念&#xff1a; 在網絡技術中&#xff0c;端口&#xff08;Port&#xff09;包括邏輯端口和物理端口兩種類型。物理端口指的是物理存在的端口&#xff0c;如ADSL Modem、集…

VC的文件路徑為什么要用雙斜杠

在編程時&#xff0c;打開文件的路徑在用單斜杠時&#xff0c;會出現問題&#xff0c;例如&#xff1a; image cvLoadImage("C:\Users\lyb\Documents\Visual Studio 2013\Projects\smooth\Debug\pic.png", 0);這樣的寫法在編譯時&#xff0c;不會出現編譯錯誤&#…

FFMpeg中apiexample.c例子分析——解碼分析

FFMpeg中apiexample.c例子分析——解碼分析 收藏 我們直接從 video_decode_example() 函數開始講&#xff0c;該函數實現了如何去解碼一個視頻文件&#xff0c;以 .mpeg 文 件為例。 &#xff08; 1 &#xff09;將緩存的末尾清 0 &#xff0c;從而確保讀操作不會越界導致破…

[轉]整理一些好的開源項目

首先說明&#xff0c;要想找開源項目&#xff0c;當然是Github&#xff01; 另外oschina上面也可能有你要的&#xff0c;這個是分類的鏈接&#xff1a;http://www.oschina.net/project/tags&#xff0c;比如這個是一個Python的相關開源資源&#xff1a;http://www.oschina.net/…

android是32-bit系統還是64-bit系統

轉自&#xff1a;http://www.cnblogs.com/pengwang/archive/2013/03/11/2954496.html 電腦CPU分32位和64位&#xff0c;這個我們都知道。用了這么長時間的android手機&#xff0c;突然有個疑問&#xff1a;android OS運行在多少位的CPU上呢&#xff1f; android應用程序是基于D…