小编Gab*_*mas的帖子

如何阅读内容处置标题的内容?

TEMPORARY求助: 在Apache FileUpload API中关闭了InputStream


我想读取content-disposition头的内容,但request.getHeader ("content-disposition")总是返回null,request.getHeader ("content-type")只返回第一行,就像这样multipart/form-data; boundary=AaB03x.

我接到以下标题:

Content-Type: multipart/form-data; boundary=AaB03x

--AaB03x
Content-Disposition: form-data; name="submit-name"

Larry
--AaB03x
Content-Disposition: form-data; name="files"; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--AaB03x--
Run Code Online (Sandbox Code Playgroud)

我想阅读所有内容处置标头.怎么样?

谢谢.


编辑1:我真正想要解决的是当客户端发送超过最大大小的文件时的问题,因为当你调用request.getPart("something")时,你传递给它的部分名称并不重要,因为它总是会即使请求不包含此参数名称,也会抛出IllegalStateException.

例:

Part part = request.getPart ("param");
String value = getValue (part);
if (value.equals ("1")){
    doSomethingWithFile1 (request.getPart ("file1"))
}else if (value.equals (2)){
    doSomethingWithFile2 (request.getPart ("file2"))
}

private String getValue (Part part) throws IOException{
    if (part == null) return null;

    BufferedReader in …
Run Code Online (Sandbox Code Playgroud)

java servlets multipart http-headers

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

存储配置数据(json)

tl; dr为什么在json文件中存储配置数据被认为是事实上的标准?

我最近阅读了可维护的Javascript书的一些部分,特别是存储配置数据章节.

这是本章的引用:

配置数据最好存储在单独的文件中,以便在它与应用程序逻辑之间创建一个干净的分离.一个很好的起点是为配置数据提供单独的JavaScript文件.一旦配置数据位于单独的文件中,它就为管理该数据提供了更多可能性.一个有价值的选择是将配置数据移动到非JavaScript文件中.

即使您正在编写JavaScript应用程序,JavaScript也不是存储配置数据的好方法.那是因为语法仍然是编程语言的语法,因此您需要确保没有引入语法错误.

他基本上说将配置数据存储在.json文件或.js文件中是一种不好的做法,应该避免.

来自json.org:

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.

交换意味着我发送和接收数据,以格式良好的方式传达两个进程.

很多人将数据存储在json文件中,这会增加很多噪音:花括号,缩进,双引号,逗号,无法写注释等.

Java使用键值行,是否有更简单的方法来存储这些数据?

a 1
Run Code Online (Sandbox Code Playgroud)

并使用json格式(1):

{
  "a": 1
}
Run Code Online (Sandbox Code Playgroud)

并使用js格式(2):

module.exports = {
  a: 1
}
Run Code Online (Sandbox Code Playgroud)

Microsoft喜欢使用.ini文件,这些文件会向这些键值行添加部分.

Unix配置文件也使用键值行.

然后,如果全世界都使用键值行,因为它们很容易被人类读/写,为什么json文件在node.js世界中是事实上的标准呢?请不要告诉我,因为json和javascript实际上是同义词,因为开发人员太懒了,而且更喜欢打电话require("./config.json").

在上面的例子中,第一个选项(1)的诞生是为了简化数据的可互换性.第二,imo,这很糟糕.这与在Java类中存储配置数据相同.如果我想从php读取这个文件,因为我有一个apache服务器和nodejs用于实时的东西,我应该如何解析该文件?我需要一个javascript解析器.

两个选项都不应该有语法错误,否则程序可能会崩溃.

javascript node.js

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

servlet和apache HttpClient的UTF-8编码问题

我有一个servlet,它发送一个utf-8编码的字符串.我也有一个用apache httpcomponents库编写的客户端.

我的问题是在utf-8中阅读回复.某些特殊字符(如ñ或ç)无法正确读取.如果我使用发送请求的html页面测试服务器,则字符串是正确的,编码是UTF-8而没有BOM.

一些片段: Servlet

response.setContentType ("application/json; charset=UTF-8");
PrintWriter out = response.getWriter ();
out.write (string);
Run Code Online (Sandbox Code Playgroud)

客户

entity = response.getEntity ();
entity.getContentEncoding (); //returns null
resultado = EntityUtils.toString (entity, HTTP.UTF_8); //Some characters are wrong
Run Code Online (Sandbox Code Playgroud)

有没有人有同样的问题?

已解决:对不起,客户端和服务器工作正常.我正在写一个Android应用程序,似乎logcat(我打印消息的地方)不支持utf-8编码.

java apache servlets httpclient utf-8

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

在 C 中循环读取输入键

如何在循环中多次读取回车键?

我试过以下没有结果。

char c;
for (i=0; i<n; i++){
    c = getchar ();
    fflushstdin ();
    if (c == '\n'){
        //do something
    }
}
Run Code Online (Sandbox Code Playgroud)

和 fflushstdin:

void fflushstdin (){
    int c;
    while ((c = fgetc (stdin)) != EOF && c != '\n');
}
Run Code Online (Sandbox Code Playgroud)

如果我读取任何其他字符而不是 Enter 键,它可以完美运行,但是使用 Enter 键在某些迭代中,我必须按 Enter 2 次。

谢谢。

编辑:我正在通过 Windows 上的腻子执行程序,并且该程序在虚拟机上的虚拟化 linux mint 上运行。

c

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

从Windows cmd检索文件属性

因为node.js不提供在Windows上检索和修改文件属性的方法,所以我需要执行子进程.我想获取所有文件属性,即:

  • 尺寸
  • 档案
  • 只读
  • 系统
  • 创建/修改/访问时间
  • 文件?/目录?/符号链接?(结)

如果我要执行子进程,我不想调用fs.stat,因为它是一个额外的I/O访问(并且Stats不会在windows上提供太多信息).如果我执行子进程,我想一次检索所有数据.

所以,我写了一个PowerShell脚本:

var cmd = "powershell -Command \"$item=get-item a -force;[bool]($item.attributes -band [io.fileattributes]::directory);[bool]($item.attributes -band [io.fileattributes]::archive);[bool]($item.attributes -band [io.fileattributes]::reparsepoint);[bool]($item.attributes -band [io.fileattributes]::hidden);[bool]($item.attributes -band [io.fileattributes]::readonly);[bool]($item.attributes -band [io.fileattributes]::system);$item.length;$tmp=$item.creationtime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$tmp=$item.lastaccesstime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$tmp=$item.lastwritetime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$s\"";
Run Code Online (Sandbox Code Playgroud)

这将返回:(一旦在JavaScript中被分裂:split("\r\n"))

[ 'False', //directory?
  'True', //archive?
  'False', //symlink?
  'False', //hidden
  'False', //readonly?
  'False', //system?
  '3', //length (if directory, empty string)
  '2012', //creation time, year
  '11', //creation time, month
  '18', //creation time, day
  '6', //creation time, hour
  '8', //creation time, min
  '44', //creation time, ysec
  '457', //creation time, millis …
Run Code Online (Sandbox Code Playgroud)

windows powershell cmd node.js

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

如何检查对象是否已被修改

我有一个对象,例如:

var o = {
  a: 1
};
Run Code Online (Sandbox Code Playgroud)

用户:

o.a = 2;
Run Code Online (Sandbox Code Playgroud)

如何知道o对象是否已被修改?我无法触摸o物体,所以我无法使用Object.defineProperties().

javascript node.js

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

(nginx)每个请求的Gzip与静态gzip

如果使用标志配置并安装nginx,--with-http_gzip_static_module则打开静态gzipping gzip_static on;.

HttpGzipStaticModule

当nginx收到文件请求时,使用静态gzip,它会尝试读取并返回扩展名为".gz"的同一文件.

我的问题是:这似乎是比用户执行请求时压缩文件更好的选择,因为文件已经被gzip压缩了,对吧?你赢得速度,你可以更快地提供文件.现在我已经gzipped字体文件,我发送给用户一个包含所有js(连接,缩小和gzip)的捆绑包和所有css的另一个捆绑包.我是否也应该预先gzip图像?

nginx

5
推荐指数
2
解决办法
4405
查看次数

Nodejs - 迭代嵌套JSON数组的正确方法

请考虑以下示例JSON数组:

[{
    info: {
        refOne: 'refOne',
        refTwo: [{
            refOne: 'refOne',
            refTwo: 'refTwo'
        }]
    }
}, {
    info: {
        refOne: 'refOne',
        refTwo: [{
            refOne: 'refOne',
            refTwo: 'refTwo'
        }]
    }
}]
Run Code Online (Sandbox Code Playgroud)

上面的JSON是数据库查询响应的简单表示,Nodejs在父信息数组中循环遍历每个'refTwo'数组的正确方法是什么?

sudo示例:对于当前项目中每个refTwo项目的样本JSON中的每个项目执行某些操作

我怀疑这里可能需要'async'lib,但是非常感谢一些建议.

javascript json node.js

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

接口的方法应该抛出异常吗?

我的意思是,在定义中.如果我有一个实现接口的类的方法,并且我想抛出异常,如果接口没有throws声明,我怎么能这样做.

谢谢

java interface exception

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

为什么字符é在UTF-8中编码为0xC3 0xA9?

如果我将字符写入é文件并用十六进制编辑器打开它,我可以看到字节0xC3,0xA9.

从维基百科,第一个字节称为前导字节,第二个字节称为尾随字节.0xC3它是一个元数据字节,这意味着,它的1个字节,0xA9,但对于Unicode值编码的字符é0xE9.

我基本上想知道é它为什么用0xA9而不是0xE9编码.文本编辑器如何从0xC3A9转换为0xE9?任何轮班操作?

unicode encoding utf-8

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