【iApp教程】iApp文件上传之调用文件管理器

IAPP   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2021-2-17

继之前的iapp文件上传接口#【iApp教程】文件上传接口优化版#[滑稽]

这不是什么很高大上,牛逼的教程,所以大佬勿喷[太开心][太开心]

效果如图一,UI有点丑的问题下次一定改[滑稽][OK],先来说下工具

工具一:一双手
工具二:能用的设备
工具三:一个脑子[也可以不要]
工具四:可以复制粘贴的输入法

/部分代码来源于互联网如有侵权直接叫我删[滑稽][玫瑰]
其实还有第二种调用方法#[iapp教程]调用系统文件选择打印路径#
这种方法自己去尝试吧[滑稽]

教程结束,参考源码在此
本帖含有隐藏内容,请您 回复 后查看
[太开心]

沙发
梦落滑稽 2021-2-17
首先创造应用,并写个简单的UI[废话][滑稽][玫瑰]

板凳
梦落滑稽 2021-2-17
然后再创造两个新模块,一个mlua模块,一个myu模块,并在mlua模块输入以下代码:

--选择文件(获取路径)
function getRealPath(uri)
import "android.provider.MediaStore$Images$Media"
local proj = i:sl(Media.DATA , ":")
local cursor = activity:managedQuery(uri , proj , nil , nil , nil)
local column_index = cursor:getColumnIndexOrThrow(Media.DATA)
cursor:moveToFirst()
return cursor:getString(column_index)
end

在myu中输入以下代码:
//调用手机文件管理器选择文件
fn Phone_SelectFile(Type)
javags(agc , "android.content.Intent" , "android.content.Intent.ACTION_GET_CONTENT")
javanew(it , "android.content.Intent" , "String" , agc)
java(Result , it , "android.content.Intent.setType" , "String" , Type)
java(Result , it , "android.content.Intent.putExtra" , "String" , "crop" , "boolean" , true)
java(Result , it , "android.content.Intent.putExtra" , "String" , "return-data" , "boolean" , true)
java(Result , activity , "android.app.Activity.startActivityForResult" , "android.content.Intent" , it , "int" , 2)

end fn

//调用手机文件管理器选择文件,回调结果
//在回调结果传入 同名参数即可
//参数 1 st_lC
//参数 2 st_sC
//参数 3 st_iT
//返回一个 名为 ss._SelectFile 的文件路径变量
fn Phone_SelectFile_CallbackResult(st_lC , st_sC , st_iT)
//回调结果
javags(er , activity , "android.app.Activity" , "RESULT_OK")
f(st_lC == er)
{
f(st_sC == 2)
{
java(Uri , st_iT , "android.content.Intent.getData")
call(ss._SelectFile , "mlua" , "a.getRealPath" , Uri)

}
}
end fn

地板
梦落滑稽 2021-2-17
在《启动文件管理器》的按钮中输入以下代码
fn a.Phone_SelectFile("image/*")
在界面事件中的《回调结果事件》输入以下代码
fn a.Phone_SelectFile_CallBackResult(st_lC , st_sC , st_iT)
syso(ss._SelectFile)
us(28 , "text" , ss._SelectFile)
//此处28即想显示选择的文件的路径的控件id

4楼
梦落滑稽 2021-2-17
在《上传》按钮的单击事件中输入以下代码[滑稽][玫瑰]
s url="http://localhost:8080/upload.php"
//这里是你的网站的上传接口,这里是本地的,不是宣传[狂汗]审核注意下谢谢
ug(28,"text",path)
//28是楼楼用来显示文件路径的控件,这里是用来取得需上传的文件路径的
ug(10,"text",filename)
//这里是自定义文件名字,上传以后的名字就是这个
ug(29,"text",suffix)
//这里是自定义后缀让他人选择文件后缀,上传的时候就上传这些
time(2,time)
//获取当前时间,加了这个可以一天之内避免重复,如果将2改成4那么基本不会重复
ss("name="+filename+time+"."+suffix,name)
//需上传的参数,具体看
t()
{
huf(url,name,path,"utf-8",result)
//上传文件
ufnsui()
{
us(25,"text",result)
//将上传的结果返回到25控件中,方便观看或复制
}

}

5楼
梦落滑稽 2021-2-17
忘了说了上传按钮的单击事件中其实time(2,time)也可以直接注释掉,这个不一定要[阴险][OK]但要了可以方便看时间
6楼
梦落滑稽 2021-2-17
不求帖热,只求对屏幕面前的你有帮助[真棒]
7楼
橙鳳 2021-2-17
回调之后文件路径是null
8楼
梦落滑稽 2021-2-17
看看[狂汗][狂汗][狂汗]
9楼
梦落滑稽 2021-2-17
你先下载我的源码测试一下先[太开心]
10楼
橙鳳 2021-2-17
就是你的源码

评论

登录后才可发表内容
  • 主题

    2

  • 帖子

    392

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.1009s Mem:2049Kb