我突然开始看到这条警告消息被记录下来,尽管底层aws库的使用或没有任何变化。我一直用的是1.6.9.1版的aws-java-sdk
没有为流数据指定内容长度。流内容将在内存中缓冲,可能会导致内存不足错误。
文件上传方式如下:
client.putObject(bucketName, key, new ByteArrayInputStream(data), new ObjectMetadata())
我怀疑我可能看到了这一点,因为我没有在ObjectMetadata对象上设置内容长度,但这就是之前的情况,并且没有生成警告。
有人知道为什么这个警告信息会突然出现吗?
谢谢
public void s3PutOjectFromStreamCompliant(AmazonS3 s3Client, File inputFile) throws FileNotFoundException {
String s3Bucket = "sample-bucket";
FileInputStream inputStream = null;
try {
inputStream = new FileInputStream(inputFile);
ObjectMetadata metadata = new ObjectMetadata();
// Compliant: specifies the content length of the stream.
metadata.setContentLength(inputFile.length());
s3Client.putObject(s3Bucket, inputFile.getName(), inputStream, metadata);
} finally {
IOUtils.closeQuietly(inputStream, null);
}
}
我知道这已经有一段时间了,但我今天不得不处理这个问题,并在文档中找到了这个解释。
上传文件时,AWS S3 Java 客户端将尝试确定正确的内容类型(如果尚未设置)。用户负责确保在上传流时设置合适的内容类型。如果未提供内容类型且无法由文件名确定,则将使用默认内容类型“应用程序/八位字节流”。
有关Content-Type标头的详细信息,请参见http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
在我的例子中,我必须缓冲流,所以我使用了这样的东西(来自这个参考)。
ByteBuffer buffer = new ByteBuffer(...)
...
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(buffer.limit());
当我试图发布一些数据,超过php.inipost_max_size设置我得到这个错误: 警告:未知:第0行中X字节的帖子内容长度超过Y字节的限制。 我不想增加post_max_size,我只想能够关闭警告,并告诉帖子数据是否超过post_max_size。我试图用error_reporting打开警告,但是因为警告在第0行,所以没有帮助。
我们有一个波束/数据流管道(使用数据流SDK 2.0.0-beta3 但是,我们正在设置 参数,我们可以看到所有二进制文件/jar 等都已上传到我们在 参数中指定的存储桶。 但是,Beam/Dataflow 随后会在我们项目的 GCS 中创建以下僵尸存储桶: 为什么会发生这种情况,如果我们清楚地设置参数?
我收到一条PHP警告,上面说: PHP警告:POST内容长度2290848字节超过第0行未知中2097152字节的限制, 以下是我的配置: 在 /etc/php.ini 在/etc/httpd/conf/httpd中。形态 从上面看,我的帖子最大尺寸应该是2.5米。为什么在2M(2097152字节)的下限触发此警告?
即使我使用的是高级多部分,我仍然在控制台中收到警告: 这就是我使用高级分段上传的方式,就像这里一样:https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-upload-object.html 5248000是5MB,我尝试上传比这大得多的文件,所以它应该使用多部分策略,正如它在文档中所说: 设置何时使用分段上传的大小阈值(以字节为单位)
问题内容: 用户在我的网站上上传图片时遇到了很多问题。 他们最多可以上传6张图片 最初,我不得不将php.ini中的值更改为: 我不得不更改为这个,因为出现了各种错误,例如内存不足,超出最大发布数等。 一切正常,直到我检查了包含以下内容的错误日志: 如果我将帖子的最大值改回前8M,则会收到如下消息: 有什么想法我要去哪里吗? 问题答案: 在某些32位系统上,PHP将采用类似或的内存设置,并且通过不
为什么我在数据中没有定义。ajax中的长度。成功了? 以下是代码,为了简洁起见,删除了一些部分: