超簡(jiǎn)單快速實(shí)現(xiàn)附件上傳(各種格式文件)和下載顯示(調(diào)用瀏覽器下載后選擇可以打開的應(yīng)用查看)

最快速簡(jiǎn)單的實(shí)現(xiàn)附件(各種類型文件施戴,doc,word浓瞪,excel乾颁,ppt英岭,pdf诅妹,MP4,MP3尖殃,apk送丰,等等)上傳到服務(wù)器器躏,然后從服務(wù)器下載登失,用瀏覽器下載揽浙,調(diào)用可以打開的應(yīng)用(比如wps)打開查看
效果圖:


這里看效果圖點(diǎn)擊linux指令集令杈,然后瀏覽器下載逗噩,選擇直接打開异雁,調(diào)用wps直接打開查看

demo下載
https://github.com/PangHaHa12138/FileUploadDemo
下面上代碼
1.布局;

<RelativeLayout 
android:background="?android:attr/selectableItemBackground" android:clickable="true" 
android:id="@+id/tianjiafujian" 
android:layout_width="match_parent" 
android:layout_height="60dp"> 
<ImageView 
android:layout_centerVertical="true" android:src="@drawable/list_pic_tianjiafujian2x" 
android:layout_marginLeft="12dp" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" />
 <TextView 
android:layout_centerVertical="true" 
android:layout_marginLeft="38dp" 
android:text="添加附件" 
android:textColor="@color/white" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:textSize="14sp"/> 
<ImageView 
android:layout_alignParentRight="true" 
android:layout_centerVertical="true"
 android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_marginRight="15dp" android:src="@drawable/list_but_nextpage2x"/>
</RelativeLayout>
<ListView 
android:id="@+id/filelist" 
android:cacheColorHint="#00000000" 
android:listSelector="#00000000" 
android:layout_width="match_parent" 
android:layout_height="match_parent">
</ListView>

上面是按鈕點(diǎn)擊可以進(jìn)入文件管理選擇上傳文件锭部,下面是listview
代碼拌禾;
2.上傳邏輯

private void upload() {
 tianjiafujian.setOnClickListener(new View.OnClickListener() { 
@Override
 public void onClick(View v) {
 Toast.makeText(MainActivity.this,"添加附件",Toast.*LENGTH_SHORT*).show(); 
Intent intent = new Intent(Intent.*ACTION_GET_CONTENT*); 
intent.setType("*/*");//設(shè)置類型湃窍,ccc我這里是任意類型您市,任意后綴的可以這樣寫墨坚。 
intent.addCategory(Intent.*CATEGORY_OPENABLE*); 
startActivityForResult(intent,1);
 //startActivityForResult(Intent.createChooser(intent, "Select a File to Upload"), 1); 
//intent.setType(“image/*”);//選擇圖片 //intent.setType(“audio/*”); //選擇音頻 
//intent.setType(“video/*”); //選擇視頻 (mp4 3gp 是android支持的視頻格式) 
//intent.setType(“video/*;image/*”);//同時(shí)選擇視頻和圖片 } });}

首先是點(diǎn)擊事件泽篮,intent開啟文件管理帽撑,然后選擇文件類型設(shè)置任意類型
然后再activityrecult回掉里拿到文件的路徑

//文件路徑 
@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 if (resultCode == Activity.*RESULT_OK*){
//是否選擇亏拉,沒選擇就不會(huì)繼續(xù) 
try { 
Uri uri = data.getData();//得到uri及塘,后面就是將uri轉(zhuǎn)化成file的過程笙僚。 
Log.d("文件路徑--",uri+""); 
String url = FileUtils2.getPath(MainActivity.this,uri); 
String url2 = url.trim(); 
UploadFile(url2); 
} catch (Exception e) { 
e.printStackTrace(); 
} } }
//然后路徑拿到了就訪問服務(wù)器上傳
private void UploadFile(String url) {
 File file = new File(url); 
OkHttpUtils.post(uploadfile) .
params("userid",userid) .
params("taskid",taskid) .
params("assid","") .
params("file",file) .
execute(new StringCallback() {
 @Override 
public void onSuccess(String s, Call call, Response response) { 
initdata();//上傳成功后刷新
 } });}
//上傳成功后刷新
private void initdata() { 
OkHttpUtils.get(Sever)
 .params("taskid",taskid)
 .params("userid",userid)
 .execute(new StringCallback() { 
@Override 
public void onSuccess(String s, Call call, Response response) { 
Data_huoqurenwuxiangqing data_huoqurenwuxiangqing = 
JsonUtil.parseJsonToBean(s,Data_huoqurenwuxiangqing.class); 
listacc = data_huoqurenwuxiangqing.getListAcc(); 
myAdapter = new myAdapter(MainActivity.this,listacc); 
listView.setAdapter(myAdapter); myAdapter.notifyDataSetChanged(); 
} });}

3.點(diǎn)擊條目下載查看
其實(shí)就是在adapter里intent開啟瀏覽器
這里是item外層布局設(shè)置clickable設(shè)置 true 然后添加點(diǎn)擊事件翎迁,當(dāng)然也可以正常的listview條目點(diǎn)擊事件里寫

final String url = data.getFileaddressdown();
holder.layout.setOnClickListener(new View.OnClickListener() { 
@Override
 public void onClick(View v) {
 Intent intent= new Intent(); 
intent.setAction("android.intent.action.VIEW"); 
Uri content_url = Uri.parse(url); 
intent.setData(content_url); 
context.startActivity(intent); 
}});

然后就會(huì)調(diào)用瀏覽器下載,打開查看時(shí)看你有沒有相應(yīng)能打開對(duì)應(yīng)格式的應(yīng)用蒲拉,圖片瀏覽器直接打開爆班,視頻辱姨,音頻都可以本地原生應(yīng)用打開也可以用webview打開戚嗅,至于word雨涛,pdf,ppt懦胞,excel替久,就需要對(duì)應(yīng)的辦公軟件打開了
最后,感謝閱讀
demo地址:https://github.com/PangHaHa12138/FileUploadDemo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末躏尉,一起剝皮案震驚了整個(gè)濱河市蚯根,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胀糜,老刑警劉巖颅拦,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異教藻,居然都是意外死亡距帅,警方通過查閱死者的電腦和手機(jī)悄窃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門鸦致,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绽乔,“玉大人沙峻,你說我怎么就攤上這事怖辆。” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵碾阁,是天一觀的道長(zhǎng)蚕钦。 經(jīng)常有香客問我促煮,道長(zhǎng),這世上最難降的妖魔是什么芋忿? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任开仰,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蚓庭。 梳的紋絲不亂的頭發(fā)上港柜,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音棚放,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛忧风,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播英遭,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼均函,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起此再,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤策吠,失蹤者是張志新(化名)和其女友劉穎蝙砌,沒想到半個(gè)月后恬总,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體换途,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肾档,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辫继。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怒见。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖姑宽,靈堂內(nèi)的尸體忽然破棺而出遣耍,到底是詐尸還是另有隱情,我是刑警寧澤炮车,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布舵变,位于F島的核電站,受9級(jí)特大地震影響示血,放射性物質(zhì)發(fā)生泄漏棋傍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一难审、第九天 我趴在偏房一處隱蔽的房頂上張望瘫拣。 院中可真熱鬧,春花似錦告喊、人聲如沸麸拄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拢切。三九已至蒂萎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淮椰,已是汗流浹背五慈。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留主穗,地道東北人泻拦。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像忽媒,于是被迫代替她去往敵國(guó)和親争拐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,512評(píng)論 25 707
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程晦雨,因...
    小菜c閱讀 6,358評(píng)論 0 17
  • 最近一直在琢磨一件事兒:如果可以選擇闹瞧,我想從事什么行業(yè)绑雄?一直都沒有答案,倒是挺羨慕一個(gè)親戚奥邮,他的工作是對(duì)著機(jī)器操作...
    句E閱讀 267評(píng)論 1 0
  • 《穆斯林的葬禮》用了一個(gè)多月的時(shí)間終于把它讀完了绳慎,一直牽掛最后的結(jié)尾也知道了,就像心中一塊沉甸甸的石頭放下了一樣漠烧,...
    尹曉麗閱讀 249評(píng)論 0 1
  • 黎明的時(shí)候 天上有兩個(gè)玉盤 一個(gè)淡黃 一個(gè)啞白 田間的霜 貪婪的吮吸曙光著它們的光 滿足得臉上開滿了花 一塊白 一...
    黃梅梅閱讀 274評(píng)論 0 1