小编use*_*170的帖子

多部分表单文件上传,Nginx正在"吃掉"它,而不是将其传递给处理程序

我是nginx的新手,但我熟悉低级HTTP和apache.当我尝试执行multipart/form文件上传时,nginx会将一些客户端请求主体写入磁盘,但永远不会完成,并且它永远不会将其传递给down/upstream脚本.

我的具体设置是我将nginx与/ dyn重定向到localhost:1337,其中node.js实例正在侦听.它工作...除了文件上传处理程序.在配置中还有一个/ debug,它被重定向到localhost:1338,后者转到一个简单的转储服务器.

我将错误日志处理更改为"info".它报告将客户端主体存储到文件中,当我进行exampline时,它几乎与我预期的一样:

--boundary_.oOo._MjM5NzEwOTkxMzU2MjA0NjM5MTQxNDA3MjYwOA==
Content-Type: image/jpeg
Content-Disposition: form-data; name="file"; filename="dccde7b5-25aa-4bb2-96a6-81e9358f2252.jpg"

<binary data, ~89k>
Run Code Online (Sandbox Code Playgroud)

这个文件的问题太短了,当文件是88,963字节时只有81,920字节,它应该是88,963 +上面的标题....但这只是它的一半.有两个文件(大约相同的大小)进来,所以我希望该文件约为~160k.nginx正在做的是重新分配请求的http级别,Content-length然后将该头传递给脚本,就是这样,当然我的脚本抱怨它永远不会发现--boundary_.oOo._MjM5NzEwOTkxMzU2MjA0NjM5MTQxNDA3MjYwOA==当我对我的调试服务执行相同的请求而没有中间的nginx时,它是正确的发送数据,如果http Content-length是一个合适的186943字节(两个文件大约80k,所以这是有道理的)

我的nginx配置是默认的,除了我在这里提到的.

编辑:经过一些实验,客户端主体目录中的所有文件都是81920字节

file-upload nginx

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

Swift NWListener 监听、取消、重新监听成功?

我有一个应用程序,我应该有一个 websocket 只在应用程序处于前台时才侦听我已经进入生命周期通知并调用 start() 并相应地停止。该应用程序正常工作,直到应用程序返回前台,此时我收到了许多警告和错误。

class SwiftWebSocketServer {
    let port: NWEndpoint.Port
    var listener: NWListener?
    var listenerState: NWListener.State
    let eventHandler:()->Void
    var connection: ServerConnection?

    init(port: UInt16, handler:@escaping ()->Void) {
        self.port = NWEndpoint.Port(rawValue: port)!
        listenerState = .cancelled
        self.eventHandler = handler
        let parameters = NWParameters(tls: nil)
        parameters.allowLocalEndpointReuse = true
        parameters.includePeerToPeer = true
        let wsOptions = NWProtocolWebSocket.Options()
        wsOptions.autoReplyPing = true
        parameters.defaultProtocolStack.applicationProtocols.insert(wsOptions, at: 0)
        do {
           listener = try NWListener(using: parameters, on: self.port)
           listener!.stateUpdateHandler = self.stateDidChange(to:)
           listener!.newConnectionHandler = self.didAccept(nwConnection:)
        } catch {
            print(#function, error)
        }
    } …
Run Code Online (Sandbox Code Playgroud)

afnetworking swift

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

如何(通过API)Google获取我的Wifi密码以便在GoogleCast应用中使用?

我需要配置我正在开发的硬件设备在Wifi网络上.它有Wifi(嵌入式Linux),我想在Android上安装一个应用程序,几乎与GoogleCast应用程序一样(https://play.google.com/store/apps/details?id=com.google.android. apps.chromecast.app)

在配置设备时,Google Cast应用程序会出现一个屏幕,询问它是否可以从我的Android设备提供Wifi密码,或者我是否想要手动提供.能够以这种方式配置我的设备将非常有益,因此用户无需记住或手动输入Wifi密码.Google Cast应用似乎使用以下权限:

- android.permission.ACCESS_NETWORK_STATE
- android.permission.ACCESS_WIFI_STATE
- android.permission.CHANGE_NETWORK_STATE
- android.permission.CHANGE_WIFI_STATE
- android.permission.GET_ACCOUNTS
- android.permission.MANAGE_ACCOUNTS
- android.permission.INTERNET
- android.permission.READ_PHONE_STATE
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.ACCESS_FINE_LOCATION
- android.permission.BLUETOOTH
- android.permission.BLUETOOTH_ADMIN
- com.google.android.providers.gsf.permission.READ_GSERVICES
Run Code Online (Sandbox Code Playgroud)

要清楚,我不在乎我是否曾在内存中看到或保留了Wifi密码.如果我可以将不透明消息推送到正在配置如何连接到网络的设备,那也就足够了.但我认为这是一个很长的镜头(我可能已经在设备上实现了Android,但这是另外一种蠕虫.所以我想知道我可以用什么API来获取密码?

我做了一些研究,发现了一个只会让我回复" ",但这也不会起作用(除非密码是" ",我可能不会这样)

sdk android android-wifi wpa

5
推荐指数
0
解决办法
379
查看次数

Java中的lambda函数树?

我正在移植一些软件,它可以在 Swift 和 JavaScript 中运行,但我不知道如何在 Java 中进行。

JavaScript 版本如下所示:

var obj = { "A": {
      "1": (params) => { console.log("A1", params); },  
      "2": (params) => { console.log("A2", params); }
    }, // A
    "B": {
      "1": (params) => { console.log("B1", params); },  
      "2": (params) => { console.log("B2", params);}
     }, //B
}; // obj
Run Code Online (Sandbox Code Playgroud)

在运行时,应用程序引擎调用

var a = 'A'; 
var i = '2';
obj[a][i](params);
Run Code Online (Sandbox Code Playgroud)

我一生都无法弄清楚如何在 Java 中做到这一点。一个关键约束(无双关语)是代码必须在结构上与其他端口相似。

以前,我试图使用 Object[][],与

Map<String, Object> map = Stream.of(obj).collect(Collectors.toMap(data -> (String) data[0], data -> (Object) data[1]));
Run Code Online (Sandbox Code Playgroud)

能够嵌入一些 …

java lambda

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

标签 统计

afnetworking ×1

android ×1

android-wifi ×1

file-upload ×1

java ×1

lambda ×1

nginx ×1

sdk ×1

swift ×1

wpa ×1