Flex调用JavaScript获取文件路径

Flex的Web中有FileReference的类可以对文件操作,实现上传、下载的功能,但是没有办法获取到文件的路径。

普遍的方法是Flex调用JavaScript的文件浏览功能来获取文件路径。

1、Flex端,首先需要在项目(test)的“Initialize”或“creationComplete”下注册事件
 //调Js获取选择图片的路径(第一个getPath为Js中方法,后一个为Flex端对应接收方法)

private function init():void
{

     ExternalInterface.addCallback("getPath",getPath);

}

2、Flex端,创建getPath方法

//此时的path为已经获得了的文件路径

public function getPath(path:String):void
{

     Alert.show("文件的路径为:" + path);

}

3、JavaScript端,在项目“html-template => history => index.template.html的<body></body>中,添加控件

注:此处多加一个<form>控件,是因为有时候在连续调用两次文件浏览控件时,会出现上一个选择文件记录没有被清空的bug。

因此每当调用文件浏览控件时,都要reset()一下

<body>

        <form id="tempForm" name="form1">
        <input type="file" id="fileInput" style="display:none" οnchange="OnFileChange()"/><!--fileInput控件-->
        </form>

</body>

4、JavaScript端,在项目“html-template => history => index.template.html的<head></head>中,添加方法

<head>

<script language="JavaScript" type="text/javascript">
//关键代码
function Browser()
{

//当选择文件
document.getElementById("fileInput").click();

//重设控件信息
tempForm.reset();
}
function OnFileChange()
{

//获取选择文件的路径
test.getPath(document.getElementById("fileInput").value);
}
</script>

</head>

 

转载于:https://www.cnblogs.com/giser-s/p/3183527.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 React Native 中,可以使用 `react-native-fs` 模块来读取本地文件。下面是一个简单的示例代码: ```javascript import React, { useEffect, useState } from 'react'; import { View, Text } from 'react-native'; import RNFS from 'react-native-fs'; const App = () => { const [text, setText] = useState(''); useEffect(() => { const filePath = RNFS.DocumentDirectoryPath + '/example.txt'; RNFS.readFile(filePath, 'utf8') .then(data => setText(data)) .catch(error => console.log(error)); }, []); return ( <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}> <Text>{text}</Text> </View> ); }; export default App; ``` 在上面的代码中,我们使用 `useEffect` 钩子来在组件加载完成后读取本地的 `example.txt` 文件。我们首先定义了一个 `text` 状态来保存文本内容。在 `useEffect` 中,我们使用 `RNFS.DocumentDirectoryPath` 获取应用的文档目录路径,并拼接上文件名,得到文件的完整路径。然后我们调用 `RNFS.readFile` 方法并传入文件路径和编码方式,以读取文件内容。读取成功后,我们将文本内容更新到 `text` 状态中,并在页面上渲染出来。 需要注意的是,读取本地文件需要在应用的 `android/app/src/main/AndroidManifest.xml` 文件中添加文件读取权限: ```xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <application> <!-- ... --> </application> </manifest> ``` 同时在 iOS 平台上,需要在 Xcode 中手动添加文件读取权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值