标签: flash

从浏览器上传多个文件的最佳方式

我正在开发一个Web应用程序.用户可以使用HTTP协议上传文件.经典的HTML文件上传控件和用于上传文件的Java小程序之间有一个选择.

经典的HTML文件上传不是很好,因为你一次只能选择一个文件,而且在实际上传过程中很难获得任何进度指示(我最终使用定时器刷新了一个进度指示器,其中包含从中获取的数据)服务器通过AJAX调用).优点:它始终有效.

使用Java applet,我可以做更多的事情:一次选择多个文件(甚至是文件夹),压缩文件,获得真正的进度条,在applet上拖放文件等等......
但是有一些缺点:

  • 让它在Mac Safari和Mac Firefox上正常工作是一场噩梦(感谢Liveconnect)
  • 用户界面并不完全是原生用户界面,有些人会注意到这一点
  • 小程序没有应有的响应(可能是我的错,但一切看起来都不错)
  • UrlConnection使用HTTPS 的Java 类中存在错误,因此我使用Apache通用HTTP客户端来执行实际的HTTP上载.这是一个非常大的包,减慢了.jar文件的下载速度
  • Apache公共HTTP客户端有时会遇到代理问题
  • Java运行时非常大

我一直在维护这个Java applet但是现在我已经厌倦了所有的缺点,并考虑编写/购买一个全新的组件来上传这些文件.

如果您有以下要求:

  • 通过HTTP或HTTPS轻松地从浏览器上传多个文件
  • 压缩文件以减少上传时间
  • 上传应该可以在任何平台上使用本机UI
  • 必须能够上传大文件,至少2gb
  • 你对这项技术有全权委托

你会使用什么技术/组件?


编辑:

  • 拖放组件上的文件将是一个很好的加分.
  • 看起来有很多与Flash Player的错误有关的问题(swfupload已知问题).适当的Mac支持和通过身份验证的代理上传是我不能没有的选择.这可能会排除所有基于Flash的选项:-(.
  • 我排除了所有HTML/Javascript选项,因为您不能使用经典HTML控件一次选择多个文件.当您想要选择文件夹中的多个文件时,单击"浏览"按钮的n倍是很痛苦的.

java flash silverlight upload http

36
推荐指数
3
解决办法
3万
查看次数

36
推荐指数
3
解决办法
5万
查看次数

在C#WinForms应用程序中显示Flash内容

FlashC# WinForms应用程序中显示内容的最佳方法是什么?我想创建一个PictureBox能够显示图像和flash内容的用户控件(类似于当前).

能够从排序而不是磁盘上的文件加载闪存内容会很棒.

c# flash adobe macromedia winforms

35
推荐指数
2
解决办法
4万
查看次数

javascript onclick事件超过flash对象

我有一个嵌入flash电影里面的一个div,我在主div中放了一个javascript onclick事件处理程序,但是没有抓到点击,有什么问题?

码:

   <div id="top-box-player" onclick="alert('Hi Bananas!');">
     <object width="400" height="300">
        <param name="movie" value="general.swf">
        <embed src="./swf/general.swf" width="400" height="300">
        </embed>
     </object>
   </div>
Run Code Online (Sandbox Code Playgroud)

html javascript flash onclick

35
推荐指数
2
解决办法
7万
查看次数

flex中的konami代码

将konami代码实现到flex应用程序的最佳方法是什么?

我想创建一个组件,将其添加到我的所有proyects上,只是为了好玩.

谢谢

更新:感谢ZaBlanc,我制作了一个简单的组件

<?xml version="1.0" encoding="utf-8"?>
<mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
    <mx:Metadata>
        [Event(name="success", type="flash.events.Event")]
    </mx:Metadata>
    <mx:Script>
        <![CDATA[

            // up-up-down-down-left-right-left-right-B-A
            public static const KONAMI_CODE:String = "UUDDLRLRBA";

            // signature
            private var signatureKeySequence:String = "";

            private function init():void{
                systemManager.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
            }

            private function onKeyDown(event:KeyboardEvent):void{
                var keyCode:int = event.keyCode;

                switch (keyCode) {
                    case Keyboard.UP:
                        signatureKeySequence += "U";
                        break;

                    case Keyboard.DOWN:
                        signatureKeySequence += "D";
                        break;

                    case Keyboard.LEFT:
                        signatureKeySequence += "L";
                        break;

                    case Keyboard.RIGHT:
                        signatureKeySequence += "R";
                        break;

                    case 66: //Keyboard.B only for AIR :/
                        signatureKeySequence += …
Run Code Online (Sandbox Code Playgroud)

apache-flex flash actionscript-3

35
推荐指数
2
解决办法
1510
查看次数

在网站上嵌入视频最简单的FLV播放器是什么?

我有视频,我已转换为FLV格式.我宁愿在我自己的网站上托管它,也不愿使用像YouTube这样的服务.什么是最容易使用的玩家?我想把播放器的.swf文件放在我服务器的某个地方,并将视频作为参数提供给它.

flash video flv

34
推荐指数
4
解决办法
5万
查看次数

在ASP.NET中流式传输文件的最佳方式

使用ASP.NET流式传输文件的最佳方法是什么?

似乎有各种方法,我目前在http处理程序中使用Response.TransmitFile()方法,该方法直接将文件发送到浏览器.这用于各种事情,包括从Webroot外部发送FLV到嵌入式Flash视频播放器.

但是,这似乎不是一种可靠的方法.特别是,Internet Explorer(7)存在一个奇怪的问题,浏览器只是在观看一两个视频后挂起.单击任何链接等都没有任何效果,并且在网站上重新运行工作的唯一方法是关闭浏览器并重新打开它.

这在其他浏览器中也会发生,但更不频繁.基于一些基本的测试,我怀疑这与文件流的方式有关...也许连接没有正确关闭,或者沿着这些线路.

在尝试了几个不同的东西后,我发现以下方法对我有用:

Response.WriteFile(path);
Response.Flush();
Response.Close();
Response.End();
Run Code Online (Sandbox Code Playgroud)

这解决了上述问题,查看视频不再导致Internet Explorer挂起.

但是,我的理解是Response.WriteFile()首先将文件加载到内存中,并且假设流式传输的某些文件可能非常大,这似乎不是一个理想的解决方案.

我很想知道其他开发人员如何在ASP.NET中传输大文件,特别是流式传输FLV视频文件.

asp.net flash streaming video-streaming

34
推荐指数
3
解决办法
5万
查看次数

HTML元素与[id]具有相同的[name]是否可以?

我正在使用Satay方法在网页中嵌入Flash应用:

<object type="application/x-shockwave-flash" data="embeddy.swf"
id="embeddy" name="embeddy">
  <param name="movie" value="embeddy.swf" />
</object>
Run Code Online (Sandbox Code Playgroud)

我希望flash提供正确objectIDExternalInterface.objectID,这意味着我需要设置name和的id属性object.

通常我会尽量避免使用HTML中的元素命名冲突,但在这种情况下将两个属性设置为相同的值是否有任何问题?

HTML表单怎么样?有没有人觉得将(n)(input| select| textarea)元素nameid属性设置为相同的值是值得的?

html flash embedding object-tag

34
推荐指数
2
解决办法
1万
查看次数

未捕获错误:在NPObject上调用方法时出错

我的页面上有一个flash视频如下:

<script type="text/javascript">
var flashvars = {
};
var params = {
    movie: "VideoMain.swf",
    quality: "high",
    bgcolor: "#000000",
    allowScriptAccess: "always",
    wmode: "transparent"
};
var attributes = {
  id: "VideoMain",
  name: "VideoMain",
  classid: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
  width: "100%",
  height: "100%"
};
swfobject.embedSWF("./video/VideoMain.swf", "myVideoContent", "100%", "100%", "11.0.0","", flashvars, params, attributes);
</script>

<div id="myVideoContent">
    <h1>Oooppsss....you need flash or a newer version of flash</h1>
    <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>
Run Code Online (Sandbox Code Playgroud)

以上内容将附加到#VideoMain中

然后我有以下内容:

$('#X.click').click(function(e) {
    var flash = document.getElementById("VideoMain");
    flash.sendToActionScriptPublishVideo(true);
});
Run Code Online (Sandbox Code Playgroud)

这会因控制台错误而失败:

Uncaught Error: …
Run Code Online (Sandbox Code Playgroud)

flash jquery adobe swfobject

34
推荐指数
1
解决办法
8万
查看次数

键盘焦点被Flash窃取

执行搜索时,我注意到了几个专门用于窃取/捕获访问者键盘焦点的问题.考虑到这个网站致力于编程并不令人惊讶.我想知道是否有人可以告诉我如何防止这种行为.丢失键盘焦点到闪存基本上会删除我的浏览器的功能,直到我使用鼠标点击其他地方(我使用Mozilla Firefox).有人知道某些插件或者关键字脚本会阻止我的键盘焦点被盗吗?通过必须使用鼠标将键盘焦点返回到浏览器,普通浏览器"快捷方式"变得无用.

编辑:回复下面的帖子,我确实有flashblock/noscript和其他一些东西.我的问题是闪光,我想看到/互动窃取我的焦点.基本上寻找的东西,我可以切换,以防止闪存获得键盘焦点或强制我的firefox键盘命令到浏览器

keyboard flash focus

33
推荐指数
2
解决办法
1万
查看次数