问题标签 [large-file-upload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
158 浏览

php - 60 秒后使用托管帐户终止脚本上传文件

我已经在 php.ini 文件中设置了我的所有 PHP 设置,以允许文件大小超过 30mb 并且最大时间超过 5 分钟。我遇到的问题是我必须使用的托管帐户在 60 秒内杀死所有脚本

脚本限制 所有脚本都有以下内存和运行时间限制:

内存:某些 PHP CMS 应用程序可能需要比 php.ini 中的默认设置更大的 memory_limit。您可以在 php.ini 中更改此限制,但不要超过 64M 的最大值。

运行时间:所有 PHP/CGI/Perl 脚本的运行时间限制为 60 秒。如果您的脚本在此期间没有完成,它将被杀死。BlueDomino 不允许自定义脚本影响我们共享托管平台上其他客户站点的性能。

我目前有一个我创建的 Flash 上传器,它将数据发送到 PHP 进行处理。我非常适合需要不到一分钟的文件,但如果需要超过一分钟就会失败:/

有没有其他方法可以解决这个问题?也许使用不同的编程语言,如 Python?

0 投票
3 回答
5055 浏览

out-of-memory - Netty HTTP-server,大文件上传,OutOfMemoryError

首先对不起我歪曲的英语:)

我在编写发送/接收大文件(~2Gb)的 Netty http 服务器时遇到了一些问题。我将非常感谢任何人的帮助或解释。

我的客户端应用程序(网络浏览器)通过 XMLHttpRequest 发送文件,如下所示:

服务器端是:

类 WebSocketServer:

类 HttpRequestServerHandler:

当我发送中等大小的文件时,一切都很好。问题在于大文件(> 300Mb)。一段时间后出现处理异常:

java.lang.OutOfMemoryError:org.jboss 的 org.jboss.netty.buffer.BigEndianHeapChannelBuffer.(BigEndianHeapChannelBuffer.java:39) 的 org.jboss.netty.buffer.HeapChannelBuffer.(HeapChannelBuffer.java:47) 的 Java 堆空间。 netty.buffer.ChannelBuffers.buffer(ChannelBuffers.java:139) at org.jboss.netty.buffer.HeapChannelBufferFactory.getBuffer(HeapChannelBufferFactory.java:73) at org.jboss.netty.buffer.DynamicChannelBuffer.ensureWritableBytes(DynamicChannelBuffer.java: 84) 在 org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:457) 在 org.jboss.netty.buffer.AbstractChannelBuffer 的 org.jboss.netty.buffer.DynamicChannelBuffer.writeBytes(DynamicChannelBuffer.java:239) .writeBytes(AbstractChannelBuffer.java:450) 在 org.jboss.netty.handler.codec.http.HttpChunkAggregator。messageReceived(HttpChunkAggregator.java:140) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndFireMessageReceived(ReplayingDecoder.java:522) org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:506) org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:443) org.jboss .netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read (NioWorker.java:351)在 org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived (ReplayingDecoder.callDecode(ReplayingDecoder.java:506) java:443) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel .socket.nio.NioWorker.read(NioWorker.java:351)org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:506) 的展开AndFireMessageReceived(ReplayingDecoder.java:522) org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder. java:443) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel .socket.nio.NioWorker.read(NioWorker.java:351)fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351)fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351)

它甚至没有到达我的 messageReceived 处理程序。我可以假设一些内部 ChannelBuffer 溢出。我试图增加 HttpChunkAggregator(1024*1024*1024) 参数。但是,它没有帮助。我只看到一种解决方案 - 在客户端拆分文件(使用 html5),发送这些块,然后将它们粘贴到服务器上。但它似乎相当复杂。有没有更简单的方法来修复它(在 Netty 范围内)?

谢谢!最好的祝福。

0 投票
3 回答
4290 浏览

android - 使用 HTTP POST 发送大于 1MB 的文件

我正在将视频和音频文件从我的 Android 应用程序发送到Wampserver,其中一些可能会变得非常大,并且OutofMemory当文件大约过大时,我往往会遇到问题1MB

我将每个文件单独转换为字节流。我认为字节流太大,因此OutofMemory.

如何阻止此错误的发生?

0 投票
3 回答
5036 浏览

php - 大文件上传失败的php

我创建了一个小站点,我的朋友可以在其中上传他们想要的歌曲和一些小文件,但我的问题是超过 5mb 的文件失败,因为在浏览器中显示“连接重置”错误。

我的服务器设置的最大文件大小为 2Mb,但我可以上传 2.5-3Mb
可能是因为我用 .htaccess 覆盖了它

但是,但是文件上传超过 5Mb,它们根本不会上传,正如我之前所说的浏览器无法访问服务器。

这会是服务器问题吗?还是我的代码有问题?我是否需要进行更改才能进行大型上传?
.htaccess 文件中的最大帖子大小和最大文件大小也设置为 40mb

这是网站 http://sharebay.webatu.com/

您可以尝试上传一些超过 7mb 的文件,mp3/flac/aac/m4a/wav/

0 投票
1 回答
2307 浏览

php - 上传非常大的文件(5gb 到 15gb)

我试图找出不同的方法来实现非常大的文件上传/下载。我是 node.js 的新手,看起来它可能是我问题的答案,但在深入研究之前,我需要确保通过这种方式我可以管理文件上传(5 到 15 Gb),而不会出现任何内存问题或类似问题。我可以考虑使用 php / ruby​​ 或 .net 作为技术(我对 node.js 了解不多,但如果它有效,我会学习足够的知识来解决我的问题)。

你的意见/经验是什么?

谢谢

0 投票
3 回答
3538 浏览

java - 如何发送带有大附件的电子邮件?(OutOfMemoryError:java 堆空间)

OutOfMemoryError: Java Heap Space当我尝试附加一个大附件时,我遇到了一个。当发送带有一些大文件(比如 50M)的电子邮件时,将引发错误。

代码是这样的:

bdSource = new ByteArrayDataSource(iStream, null)抛出了上面的异常。我读过“使用 java 邮件内存不足”,但我不明白。如何上传大附件?如果我定义一个缓冲区byte[1024],那么如何编码email.attach()?缓冲区中的所有数据都应该使用相同的filename吗?


更新:谢谢你的好意。我使用 FileDataSource 而不是 ByteArrayDataSource,看来我的 send() 函数没有异常。但我仍然无法发送带有大附件的电子邮件。apache james收到此错误:

0 投票
0 回答
1262 浏览

post - 带有大文件的 libCURL Multipart POST

我需要使用多部分 POST 请求上传一个大文件(>2 GB)。源文件可以使用 unicode 符号命名。问题是 libcurl 不支持 windows 中的 unicode wfopen,所以我无法以通常的方式完成此任务,例如

我发现我可以将 curl_formadd 的 CURLFORM_STREAM 选项与 CURLOPT_READFUNCTION 结合使用。现在我需要通过 CURLFORM_CONTENTSLENGTH 选项手动设置文件大小,但是当我需要设置“long long”文件大小时,它只接受“long”作为参数。浏览 curl 手册后,我发现了一些 CURLOPT_POSTFIELDSIZE_LARGE 选项,但在我的情况下它什么也没做。多部分请求系统似乎忽略了这个参数。我不知道该怎么办,我不想放弃 unicode 名称或大文件支持。

0 投票
2 回答
1563 浏览

file-upload - 从 Asp.net 客户端上传大文件到 JBoss 问题

全部,我有一个使用 apache-common-fileupload 组件的 JBoss 应用程序,我测试过它可以从在 post 方法中使用 HttpWebRequest 的 asp.net 客户端上传大文件。但是多次成功上传后。它在JBoss控制台中失败并出现以下异常。请帮忙检查一下。谢谢。

这是 server.xml 内容。请检查一下 。

编辑并添加了 Asp.net 客户端代码。

我的想法: 我认为异常的根本原因Stream ended unexpectedly是我发布到服务器的流的长度不完全等于我在 HttpWebRequest.ContentLength 中指定的长度。

我的问题:

1.如果HttpWebRequest.ContentLength的长度大于或小于我发送到服务器的实际大小怎么办?

SendSingleChunk2.发帖失败后继续执行怎么办?似乎服务器将这两个请求流识别为同一个。

0 投票
2 回答
1497 浏览

c# - 使用 ftpwebrequest 上传大文件无法完成

我设计的软件使用 ftp 将文件上传到我的服务器我使用 ftpwebrequest 进行所有上传。当上传一个 700mb 的文件时,它会上传大约 500mbs 然后停止,它在上传较小的文件时工作正常,较小的文件上传成功,但它只是想在大文件上正常工作。我在后台工作人员中完成了上传,该后台工作人员将上传进度报告给主客户端的进度条。当后台工作人员完成时,它会执行后台工作人员完成功能。后台工作人员完成功能被执行,但上传从未完成,进度条停留在大约 65%,就像客户端停止上传并执行后台工作人员完成功能一样,就好像它完成了上传一样。上传不会出现什么问题

0 投票
3 回答
13830 浏览

asp.net - asp.net 文件上传 在页面加载时重置与服务器的连接

当我尝试上传 32MB 的文件时,Firefox 在页面上显示以下错误。

“ 连接已重置。与服务器的连接在页面加载时已重置。”

我试过跟随。解决方案 -

1. 在<system.web>

2. 在<system.webserver>

但仍然得到同样的错误。我认为问题与“executionTimeout”有关。应用程序没有为请求设置此超时。