成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

ng-Cordova插件之fileTransfer的使用

fredshare / 2359人閱讀

摘要:如果沒有遇到,則說明圖片都上傳成功了,所以也同樣給出提示信息。如果有也會(huì)及時(shí)來修改好吧,暫且說到這里咯

其實(shí)我覺得gitHub上的文檔說的已經(jīng)很詳細(xì)了,但是鑒于是一個(gè)比較常用的插件以及貌似使用方法稍微的要比ng-camera那樣看起來簡單點(diǎn),所以這里稍微的寫寫記錄下

$cordovaFileTransfer的用處:用于文件的上傳和下載,圖片表單等等

$cordovaFileTransfer支持上傳、下載等,這里我們暫且說下文件的上傳,此處用圖片舉例

需求:拍照、查看、上傳

具體實(shí)現(xiàn):

前端代碼:


?????
?????????
?????????????
?????????????????
?????????????????????
????????????????? ????????????????? ????????????????????? ?????????????????????????{{index}}
?????????????????????
????????????????? ????????????????? ?????????????????????現(xiàn)場拍照
????????????????? ????????????????? ????????????????????? ????????????????????????? ?????????????????????
????????????????? ????????????????? ????????????????????? ????????????????? ????????????????? ?????????????????????查看 ????????????????? ????????????? ????????? ????????? ????????????? ????????????????? ?????????????

????????? ????? ?

這里用到onsen中的carousel,當(dāng)然,這里不需理會(huì)主要也就是ng-repeat

$scope.pictures?=?[
?????{value:?false,?imgSrc:?""},
?????{value:?false,?imgSrc:?""},
?????{value:?false,?imgSrc:?""},
?????{value:?false,?imgSrc:?""},
?????{value:?false,?imgSrc:?""}];

其中在圖片上傳中最主要的是imgSrc

上傳的代碼如下(我這里是寫在factory里面,因?yàn)榭梢怨灿茫?/p>

upLoad:function(imgRul,tempParam,success,error){
?????try{
?????????var?options?=?new?FileUploadOptions();
?????????options.filekey?=?"file";
?????????options.fileName?=?"test.jpg";
?????????options.mimeType?=?"image/jpeg";
?????????options.chunkedMode=false;
?????????options.params?=?tempParam;
?
?????????var?fileTransfer?=?new?FileTransfer();
?????????fileTransfer.upload(
?????????????imgRul,
?????????????encodeURI("http://222.92.140.204:8080/hms-furui/afwkFile/upload"),
?????????????success,
?????????????error,
?????????????options
?????????);
?????}catch(e){
?????????showAlert("提示",e);
?????}
?}

簡明說下里面主要的東西

第一是上傳:

fileTransfer.upload(
?????imgRul,
?????encodeURI("http://222.92.140.204:8080/hms-furui/afwkFile/upload"),
?????success,
?????error,
?????options
?);

其中第一個(gè)參數(shù)是圖片在本地的URL地址,第二個(gè)參數(shù)是service地址,官網(wǎng)文檔是encoded by?encodeURI();當(dāng)然我們都知道這里是為了防止亂碼。第三個(gè)和第四個(gè)參數(shù)是成功和失敗的回調(diào)函數(shù),這些都很簡單,最后一個(gè)options貌似有些講究,展開說下:

Options是可選的一些參數(shù),通過var options = new FileUploadOptions()獲取出來(插件封裝好的)

然后填充options中的一些屬性值

1、 fileKey:這個(gè)元素的名稱,服務(wù)端通過這個(gè)拿,我的理解是個(gè)key

2、 filename:上傳的文件存在服務(wù)端的名稱,默認(rèn)是image.jpg

3、 httpMethod:顧名思義,http的請(qǐng)求方式,默認(rèn)是post

4、 mimeType:一種標(biāo)準(zhǔn),默認(rèn)的是image/jpeg

5、 params:參數(shù),這里面放的是一個(gè)對(duì)象,除了傳過去圖片還有別的一些信息啦,比如id啊啥啥啥亂七八糟的都在這里,有用!

當(dāng)然還有別的一些東西貌似我們也不怎么用到

也就這么簡單,我們就可以實(shí)現(xiàn)圖片的上傳了

但是很郁悶,這里我要實(shí)現(xiàn)過個(gè)圖片的上傳,說實(shí)話我從官網(wǎng)文檔中并沒有找到怎么實(shí)現(xiàn)過個(gè)圖片的上傳,我覺得是可以的,因?yàn)楣倬W(wǎng)有這么一句話: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? S!有木有,但是文檔中又有這句話a!有木有!

好了,這些都先不去在意了吧,我再查查和問問怎么實(shí)現(xiàn)一次傳送多個(gè)圖片,目前我的實(shí)現(xiàn)方式是(當(dāng)然也還是不怎么完美的):

//保存上傳圖片
?$scope.upLoad?=?function?()?{
?????var?errorCount?=?0;
?????var?success?=?function?(r)?{
?????????errorCount?+=?1;
?????};//成功的毀掉函數(shù)
?????var?error?=?function?(error)?{
?????????errorCount?+=?1;
?????????showAlert("提示",?"第"?+?errorCount?+?"張圖片上傳失敗!上傳終止!");
?????????return;
?????};
?????var?tempParam?=?{
?????????"document_id":?orderId,
?????????"document_type":?orderStatus,
?????????"created_by":?user,
?????????"url":?"pictures"
?????};
?????for?(var?i?=?0;?i?

判斷$scope.pictures[i].imgSrc有木有值,有的話,就傳,失敗就停止!如何判斷失敗停止,我這里加了個(gè)變量:errorCount,每次上傳一張的時(shí)候就會(huì)調(diào)用回調(diào)函數(shù),error,或者success,我在success里面每次成功就+1,方便提示第幾張上傳錯(cuò)誤,在error里面給出提示信息,并且終止函數(shù)的繼續(xù)。如果沒有遇到return,則說明圖片都上傳成功了,所以也同樣給出提示信息。

一般我會(huì)覺得不會(huì)出現(xiàn)錯(cuò)誤的,因?yàn)橐稽c(diǎn)擊保存,就跳出來圖片上傳成功,快到真的不敢相信(我不知道是不是還存在異步的問題,但是至少目前我測試的都是么有問題的)

后續(xù)如果還有更好的一次上傳多個(gè)圖片的方法會(huì)陸續(xù)整理。如果有bug也會(huì)及時(shí)來修改!

好吧,暫且說到這里咯n(≧▽≦)n

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/81574.html

相關(guān)文章

  • ionic實(shí)現(xiàn)下載文件并打開功能(file-transfer和file-opener2插件

    摘要:作為一款,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用和這兩個(gè)插件能夠在比較容易的實(shí)現(xiàn)這個(gè)功能。 作為一款app,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用cordova-plugin-file-transfer和cordova-plugin-file-opener2這兩個(gè)插件能夠在ionic比較容易的實(shí)現(xiàn)這個(gè)功能。 1、安裝: cordova...

    cfanr 評(píng)論0 收藏0
  • ionic實(shí)現(xiàn)下載文件并打開功能(file-transfer和file-opener2插件

    摘要:作為一款,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用和這兩個(gè)插件能夠在比較容易的實(shí)現(xiàn)這個(gè)功能。 作為一款app,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用cordova-plugin-file-transfer和cordova-plugin-file-opener2這兩個(gè)插件能夠在ionic比較容易的實(shí)現(xiàn)這個(gè)功能。 1、安裝: cordova...

    fengxiuping 評(píng)論0 收藏0
  • ionic打包報(bào)錯(cuò)Execution failed for task ':compileD

    摘要:添加插件可能會(huì)遇到如下報(bào)錯(cuò)提示信息如果你在時(shí),有注意到是需要版本大于等于解決方案所以只需要運(yùn)行命令這樣就在運(yùn)行就能打包成功了 添加ionic插件cordova-plugin-file可能會(huì)遇到如下報(bào)錯(cuò) 提示信息 :processDebugResources :generateDebugSources :compileDebugJava apache/cordova/filetransf...

    pepperwang 評(píng)論0 收藏0
  • ionic打包報(bào)錯(cuò)Execution failed for task ':compileD

    摘要:添加插件可能會(huì)遇到如下報(bào)錯(cuò)提示信息如果你在時(shí),有注意到是需要版本大于等于解決方案所以只需要運(yùn)行命令這樣就在運(yùn)行就能打包成功了 添加ionic插件cordova-plugin-file可能會(huì)遇到如下報(bào)錯(cuò) 提示信息 :processDebugResources :generateDebugSources :compileDebugJava apache/cordova/filetransf...

    whidy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

fredshare

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<