小编moj*_*uba的帖子

具有流式传输的JS文件上传器,即无需将整个文件加载到内存中

类似于在这个MDN页面上描述的那个,但没有将文件加载到内存中,即我希望能够使用一些流接口以块的形式发送文件,以便我的客户端进程独立于文件大小.使用不可见<input type=file>元素选择文件.

这是一个现实世界的问题:我的用户将一次上传多个文件,这可能足够大(并且客户端设备足够有限)担心内存消耗.与此同时,我想提供一个很好的客户端上传器,其中包含进度指示.

FileReader接口似乎不支持流式传输,除非我当然缺少一些东西.

该解决方案应该可以在最新版本的Safari,Chrome和Firefox中使用,如果可能的话也可以在IE9中使用(尽管可能没什么希望).编辑:也没有jQuery,只是简单的JavaScript.

javascript file-upload filereader

6
推荐指数
1
解决办法
3062
查看次数

AVPlayer/AVAudioMix淡入效果在开始时点击

我正在尝试实现基于AVPlayer + AVAudioMix + AVAudioMixInputParameters的淡入效果.它基本上有效,除了在启动我的应用程序后第一次播放音频时,开头有一个点击.虽然后续的播放效果很好,但是第一次出现故障非常稳定且可重复.

仅在AVPlayerItem status设置为就绪后才启用"我的播放"按钮,因此在播放器未准备好时无法触发播放方法.实际上,在加载音频文件和构建所有对象后等待多长时间并不重要.

这发生在OS X上,我还没有在iOS上测试它(尚未).

请注意,对于此测试,您需要一个以声音而非静音开头的音频文件.这是我没有GUI部分的精简代码(testFadeIn是入口点):

static AVPlayer* player;
static void* PlayerItemStatusObserverContext = &PlayerItemStatusObserverContext;

- (void)testFadeIn
{
    AVURLAsset* asset = [AVURLAsset.alloc initWithURL:[NSURL fileURLWithPath:@"Helicopter.m4a"] options:@{AVURLAssetPreferPreciseDurationAndTimingKey: @YES}];
    AVPlayerItem* item = [AVPlayerItem playerItemWithAsset:asset];
    player = [AVPlayer playerWithPlayerItem:item];
    [item addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:PlayerItemStatusObserverContext];
}

- (void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context
{
    if (context == PlayerItemStatusObserverContext)
    {
        AVPlayerStatus status = (AVPlayerStatus)[[change objectForKey:NSKeyValueChangeNewKey] integerValue];
        if (status == AVPlayerStatusReadyToPlay)
        {
            [self applyFadeIn];
            [self performSelector:@selector(play:) withObject:nil afterDelay:1.0];
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

macos avfoundation ios avplayer avplayeritem

6
推荐指数
0
解决办法
1190
查看次数

不同语言的国名的好来源?(用于多语言形式)

我正在构建一个多语言Web应用程序,可以随时更改界面语言。这意味着,除其他外,注册/资料表格上的国家名称选择器也应翻译。

因此,我想知道网络上是否存在某种集中式资源,用于以所有或多种(或某些)语言显示国家名称。我只需要其中的三种,而且我知道最终我会自己将英语名称(可以在网上轻松找到)翻译成其他两种语言。可以,除非我的客户添加了我不会说的更多语言。当然,在名称之间应该有一些映射,例如通过2个字母的代码。

translation internationalization countries

5
推荐指数
1
解决办法
5949
查看次数

如果用户使用旧浏览器,有哪些好的页面可以重定向用户?

比如这个:http://www.webstandards.org/upgrade除了它太可怕了并且已经过时了(使用Netscape 7?真的吗?)

我将要求IE9 +以及其他浏览器的最新版本.

谢谢.

browser-support web

5
推荐指数
1
解决办法
632
查看次数

主要可执行文件上的dlopen()/ dlsym():它有多便携?

我正在构建一个编译器和一个虚拟机来执行我的字节代码.该语言允许绑定外部C函数,这些函数可以在某些外部共享对象中定义,也可以在主编译器/ VM二进制文件(一些基本语言内置函数)中定义.

我知道我可以使用dlopen(NULL,...)动态绑定主可执行文件中的符号,但是在我运行strip二进制文件之后不能.那么我有以下问题:

  1. 有没有办法在条带二进制文件上执行此操作?
  2. 这个功能在整个UNIX系统中的可移植性如何?
  3. 是否有可能以某种方式在Windows上执行相同的操作?
  4. 在主可执行文件中动态绑定的任何替代方法?

unix dll dlopen

4
推荐指数
1
解决办法
3533
查看次数

混音控制台应用中的多个平移手势

我想我的iPad调音台应用程序能够在用户用多个手指触摸它们时同时移动多个滑块,就像在现实生活中一样.

我已经为单个平移手势(UIPanGestureRecognizer)实现了我的逻辑.在这种情况下,如何添加多点触控功能?

需要iOS 5.1兼容性.

编辑:供参考,这是现实混音控制台上的手势:

在此输入图像描述

iphone objective-c ipad uigesturerecognizer ios

3
推荐指数
1
解决办法
127
查看次数

User-Agent字段中的Mozilla/5.0是否表示浏览器支持HTML5?

是否可以假设某个浏览器指示支持Mozilla/5.0 (compatible...)HTML5?

browser user-agent mozilla cross-browser

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

在Cocoa中呈现来自XIB的模态对话:最佳/最短模式?

下面是我的典型WindowController模块,用于显示从XIB加载的模式对话框(可能是设置,询问用户名/密码等).这样的事情似乎有点过于复杂.任何想法如何更好/更少的代码?

别介意它要求输入密码,它可能是任何东西.让我最沮丧的是我在每个基于XIB的模态窗口模块中重复相同的模式.这当然意味着我可以定义一个自定义窗口控制器类,但在此之前我需要确保这是最好的做事方式.

#import "MyPasswordWindowController.h"

static MyPasswordWindowController* windowController;

@interface MyPasswordWindowController ()
@property (weak) IBOutlet NSSecureTextField *passwordField;
@end

@implementation MyPasswordWindowController
{
    NSInteger _dialogCode;
}

- (id)init
{
    return [super initWithWindowNibName:@"MyPassword"];
}

- (void)awakeFromNib
{
    [super awakeFromNib];
    [self.window center];
}

- (void)windowWillClose:(NSNotification*)notification
{
    [NSApp stopModalWithCode:_dialogCode];
    _dialogCode = 0;
}

- (IBAction)okButtonAction:(NSButton *)sender
{
    _dialogCode = 1;
    [self.window close];
}

- (IBAction)cancelButtonAction:(NSButton *)sender
{
    [self.window close];
}

+ (NSString*)run
{
    if (!windowController)
        windowController = [MyPasswordWindowController new];
    [windowController loadWindow];
    windowController.passwordField.stringValue = @"";
    if ([NSApp runModalForWindow:windowController.window]) …
Run Code Online (Sandbox Code Playgroud)

cocoa modal-dialog objective-c xib nswindowcontroller

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

在数据库中存储和维护 JWT 刷新令牌的最佳策略?

我有一个移动应用程序,它通过后端实现 JWT 身份验证。访问令牌的生命周期很短(1 小时),并且不会存储在后端。现在是刷新令牌:

  1. 如果刷新令牌过期,则意味着用户将定期注销,从业务角度来看,这是非常不希望的,它可能会损害用户保留率。有没有办法在不削弱安全性的情况下避免这种情况,例如使刷新令牌“永恒”?

  2. 存储和清理刷新令牌表以防止未使用令牌累积的最佳方法是什么?假设我有以下表结构:user_id, device_id, refresh_token。如果策略是刷新令牌永不过期,则使它们失效的唯一方法是当用户注销时。但是,用户也可以删除应用程序、丢失或损坏设备,或者device_id出于任何原因进行更改。我能想到的一种解决方案是设置一个refreshed_at时间戳,允许在几个月不使用后使令牌失效。还有其他已知的技巧吗?

  3. 假设我在刷新访问令牌时除了刷新令牌之外还使用共享秘密字符串,我的理解是否正确:如果所有 3 个令牌(访问令牌、刷新令牌和共享秘密)都被泄露,我对此无能为力?API 调用的最佳实践是什么refresh

authentication oauth jwt refresh-token

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

将消息发布到Cocoa应用程序的主事件循环?

让我们说,在我的GUI应用程序中(它可以在OSX/iOS上移植)我有多个线程可以向主应用程序线程发送通知.应该在处理Cocoa的输入事件和重绘请求的相同上下文中处理通知.我的目标是在屏幕上反映来自并发线程的某些事件.

在Windows上有PostMessage(),那么它在OS X和iOS上的模拟是什么?

dispatch_async() 似乎是一个很接近的候选人,然而,文件说:

目标队列确定是否相对于提交到同一队列的其他块串行或同时调用该块.

老实说,除了造成混乱之外什么也没说.此外,还不清楚使用哪个消息队列,dispatch_async以便相对于GUI事件串行处理消息.

macos cocoa multithreading cocoa-touch ios

1
推荐指数
1
解决办法
862
查看次数