我使用fileReference.browse()从硬盘驱动器中选择一个图像文件.
如何检查所选图像文件的宽度和高度?
谢谢!
FileReference的使用对有效字符有约束.
Error: Error #2087: The FileReference.download() file name contains prohibited characters.
这很好,因为我认为限制来自底层文件系统无论如何
有这样的东西作为修剪/替换所有禁止字符的通用方法吗?
为了清楚起见,我追求的是:
var dirty:String = "Eat this !@##$%%^&&*()\/";.txt
var clean:String = dirty.replaceAllProhibitedCharacters();
我不是在寻找特定于操作系统的正则表达式,而是一个跨平台的解决方案.
下面的代码使用as3 Air For Android从服务器下载mp3到手机.我想稍后在应用程序中使用这些文件,所以我有以下问题:
如何将文件保存到Android应用程序中的特定文件夹而不是用于选择位置的用户框?
import flash.net.FileReference;
/// It can be an mp3,jpg, png, etc... just change the url
/// and the extension name. nice huh?
var yourFileLocation = "http://YourWeb.com/YourSong.mp3";
var yourFileName = "YourSong.mp3";
var daFile:FileReference = new FileReference();
daFile.download(new URLRequest(yourFileLocation), yourFileName);
Run Code Online (Sandbox Code Playgroud)
监视这个进度也很好,当它启动,停止和进行时,但我认为eventListener可能会使用它.
我想创建一个Flash应用程序,用户可以在其中加载文件并将文件保存到本地硬盘驱动器.虽然我经常使用File和FileStream类在AIR应用程序中完成此操作,但我之前在SWF中没有这样做过.
据我所知,这个FileReference类用于此,虽然由于安全风险似乎有一些限制.我想知道使用FileReference类和使用File和FileStream类加载和保存文件之间的主要区别.
目前我正指向我机器上的文件,但我想知道如何将字符串指向我在项目中创建的文件夹.例如,visual studio中文件夹的路径是,
C:\Users\Drian Darley\documents\visual studio 2013\Projects\KinectBVversion1\KinectKickboxingBVversion1\Gesture\jabtwo.xml
Run Code Online (Sandbox Code Playgroud)
我听说过包URI,在这种情况下是否适合或者如何设置?
这就是它当前指向文件的方式,这不是理想的,因为它必须指向本地存储在机器上的文件.
private string gesturefile =
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\GesturePak\\wave.xml";
Run Code Online (Sandbox Code Playgroud) 见[ 解决方案 ]
FileReference.load();没有卸载功能,就像有new Loader ().unload();.
必须是来自Flash的"BUG"或FileReference需要改进,输入新版本添加如下函数:FileReference.unload();
或者我错了并且存在解决方案?
我试图将"NULL"设置为类型的变量FileReference,但显然这不适用于Flash与GC(垃圾收集器)一起工作,但这不是问题的焦点.
问题是加载多个文件时new FileReferenceList需要很多内存,但是在进程之后我无法释放内存.
使用后如何释放内存FileRerence?
看我的代码:
package {
import com.mainpackage.LoaderTestCase;
import flash.net.FileReferenceList;
import flash.net.FileReference;
import flash.net.FileFilter;
import flash.events.Event;
import flash.display.MovieClip;
public class Main extends MovieClip {
private var listFiles:Array;
private var allTypes:Array;
private var fileRef:FileReferenceList;
private var test:int;
public function Main()
{
test = 0;
listFiles = [];
allTypes = [];
fileRef = new FileReferenceList();
fileRef.addEventListener(Event.SELECT, select);
fileRef.browse(allTypes);
}
private …Run Code Online (Sandbox Code Playgroud) 我正在尝试做一个图像上传器,用户可以:
- 使用button.browse浏览本地文件
- 选择一个并将其保存为FileReference.
- 然后我们做FileReference.load()然后将数据绑定到我们的图像控件.
- 在我们对其进行旋转并更改图像数据之后.
- 并完成我们将其上传到服务器.
要更改图像数据,我将获得显示图像的矩阵并对其进行转换,然后重新使用新矩阵并将其绑定到我的旧图像:
private function TurnImage():void
{
//Turn it
var m:Matrix = _img.transform.matrix;
rotateImage(m);
_img.transform.matrix = m;
}
Run Code Online (Sandbox Code Playgroud)
现在主要的是我真的不知道如何将数据作为文件发送到我的服务器,因为它没有存储在FileReference中,FileReference中的数据是readOnly所以我们无法更改它或创建新的,所以我可以不要使用.upload();.
然后我尝试了HttpService.send,但我无法弄清楚你是如何发送文件而不是mxml的.
我创建了一个绘画应用程序,当用户想要保存他的绘图时,他只需点击保存按钮并弹出一个对话框 - 或者应该这样做.
在开发机器上进行本地测试时没有问题,但无论何时在浏览器中加载应用程序都无法正常工作.即使我在浏览器中加载本地SWF文件也无法正常工作.
下面的代码是我用来保存文件的,因为它说它在本地工作正常,但每当它进入浏览器它就不会.保存对话框根本不会弹出.
有什么建议?
var bitmapData:BitmapData = new BitmapData(canvas.width, canvas.height);
bitmapData.draw(canvas);
var jpg:JPEGEncoder = new JPEGEncoder(100);
var ba:ByteArray = jpg.encode(bitmapData);
file = new FileReference();
file.addEventListener(Event.COMPLETE, fileSaveComplete);
file.addEventListener(IOErrorEvent.IO_ERROR, error);
file.save(ba, 'FileName.jpg');
Run Code Online (Sandbox Code Playgroud)
运行FlashPlayer 11并编译为10.2 BTW.
我目前正在使用Flex 3.0我收到了一个错误(屏幕截图如下).我使用的是Flash Player 10.0版
目前我正在调用HTTPService并在该HTTPService的resultHandler中我在方法filereference.save()中收到错误.因为只有在发生MouseEvent或Keyboard事件时才会调用此方法.
是否有任何解决方案可以克服这种情况,或者换句话说,在ResultHandler中调用filereference.save方法.

apache-flex ×4
flash ×4
actionscript ×1
android ×1
c# ×1
flex3 ×1
gumbo ×1
height ×1
httpservice ×1
image ×1
memory ×1
upload ×1
width ×1
wpf ×1