我想知道如何将我的服务器上的文件(pdf/excel/ppt)转换为ByteArray。我想这样做的原因是为用户显示打开/保存的对话框,我必须将Content-Type设置为八位字节流。对话只显示navigateToURL(),但对于pdf,它是用户的本地浏览器设置。对于URLRequest,我必须将数据设置为ByteArray。我试图使用位于这里的代码:如何将文件转换为Flex中的ByteArray?
1
A
回答
5
提供你的目标的Flash Player 10,这应该工作:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="loadFile()">
<mx:Script>
<![CDATA[
private var loadedFile:ByteArray;
private function loadFile():void
{
var request:URLRequest = new URLRequest("http://test.enunciato.org/sample.pdf");
var urlLoader:URLLoader = new URLLoader(request);
urlLoader.addEventListener(Event.COMPLETE, onURLLoaderComplete);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load(request);
}
private function onURLLoaderComplete(event:Event):void
{
loadedFile = event.target.data;
}
private function saveLoadedFile():void
{
var file:FileReference = new FileReference();
file.save(loadedFile, "SampleDoc.PDF");
}
]]>
</mx:Script>
<mx:Button label="Save Image" horizontalCenter="0" verticalCenter="0" click="saveLoadedFile()" />
</mx:Application>
假设你第一次加载文件 - 在这个例子中,加载操作发生在creationComplete和字节获取存储在关闭loadedFile - 当用户单击保存图像时,字节应该准备好并保存。经过测试并验证了该示例的作用。希望能帮助到你!
0
我认为你可以做这样的事情来获取字节数组:
private var fileBytes:ByteArray = null;
private static function loadByteArray(url:String):void {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
function(e:Event):void {
fileBytes = e.currentTarget.bytes;
});
loader.load(new URLRequest(encodeURI(url)));
}
// static initializer
{ loadByteArray("my url here"); }
编辑:我没有” t测试上述功能。如果你想直接加载字节,我建议使用Christian Nunciato的答案,因为他更好,并且经过实际测试。
但是,它听起来更像是要直接从你的服务器检索文件,而不是做一个三路之旅(文件来自服务器,您发送的字节回服务器,最后他们回来给客户)。在这种情况下,您可以尝试设置服务器上的内容类型和内容处置方式(例如对于pdf,这意味着将内容类型设置为“application/pdf”并添加“Content-Disposition:attachment; filename = myFileName”。 PDF“到你的回应标题)。
相关问题
- 1. 如何将bytearray转换为zip文件
- 2. 在Flex中将ByteArray转换为Integer
- 3. 如何将图像转换为Flex 4中的ByteArray
- 4. 将ByteArray转换为文件对象
- 5. Flex处理图像(转换为Bytearray)
- 6. 如何将字符串转换为Bytearray
- 7. 如何将bytearray转换为img标签?
- 8. 如何将python str转换为bytearray
- 9. 如何将ActionScriptObject转换为ByteArray?
- 10. 如何将附件对象转换为JAVA中的ByteArray
- 11. 将ByteArray转换为NSData
- 12. 将BinaryString转换为ByteArray - Java
- 13. 将负值转换为bytearray
- 14. 将System.Windows.Media.ImageSource转换为ByteArray
- 15. .net将bytearray转换为double []
- 16. 将bytearray转换为整数
- 17. 将MovieClip转换为ByteArray
- 18. 如何将bytearray转换为图像或图像bytearray?
- 19. 将byteArray转换为android中的位图?
- 20. 将Flex证书.crt文件转换为ByteArray for secureSocket类addBinaryChainBuildingCertificate方法
- 21. 将ByteArray文件从服务器转换为imageView中的图像
- 22. 在javascript中将值转换为bytearray
- 23. 如何将bytearray转换为ActionScript中的IList?
- 24. 如何将字符串转换为UTF-8中的byteArray无Bom
- 25. 为什么将Dataframe转储为Avro文件无法在Python中转换bytearray?
- 26. 将位图转换为byteArray android
- 27. 将mp4视频转换为bytearray as3
- 28. 使用Apache POI将byteArray转换为XSSFWorkbook
- 29. AJAX将图像转换为ByteArray
- 30. PIL:将Bytearray转换为图像