我有一个Web应用程序,可以接受最多4 MB的文件上传.服务器端脚本是PHP,Web服务器是NGINX.许多用户要求大幅提高此限制以允许上传视频等.
然而,PHP的这个问题似乎没有简单的解决方案.首先,在客户端,我正在寻找允许我在传输过程中块文件的东西.SWFUpload似乎没有这样做.我想我可以使用Java FX流式传输上传(http://blogs.oracle.com/rakeshmenonp/entry/javafx_upload_file),但我在PHP中找不到任何等效的request.getInputStream.
增加浏览器client_post限制或php.ini上传或max_execution时间并不是真正大文件(~1GB)的真正解决方案,因为浏览器可能会超时并想到存储在内存中的所有blob.
有没有办法在服务器端使用PHP解决这个问题?谢谢你的回复.
我有一个简单的项目来测试JAX-RS服务.昨天我下载了jersey-1.7.1,并使用com.sun.jersey.api.container.httpserver.HttpServerFactory和com.sun.net.httpserver.HttpServer来创建一个http服务器来测试我在Eclipse中的服务(没有重载重量容器)
今天,我下载了最新的球衣罐(jaxrs-ri),缺少HttpServerFactory.看起来他们在1.7.1 => 2.0之间删除了类,但我在弃用部分找不到它.我在API部分看到了grizzly2类(也许这就是我现在应该使用的)但是jaxrs-ri bundle中的jar都没有提供这些类.我下载了jersey-grizzly 1.12 jar,但它只有com/sun/jersey/server/impl/container/grizzly2/GrizzlyContainer类,没有实现.
对善良的灵魂提出质疑
1 - 使用来自泽西下载页面的最新jaxrs-ri jar,如果不推荐使用1.7.1方式,建议使用命令行创建简单http服务器的方法.什么罐子下载/包括,也许是一个简短的代码示例?
2 - 关于使用java创建简单REST服务的整个文档是一个很大的混乱.那么你如何找到正确的信息呢?
(真的,这不是一个玩笑.也许这需要一个单独的博客文章 - 只看一塌糊涂,更改API,没有关于弃用功能的信息,实现差异,例如CXF vs. jersey,API 1.x vs API 2.0, Glassfish容器v xy与Tomcat,y版本x与y版本x2,servlet 3.0将拥有此文件,您是否正在扩展应用程序!)
更新
JDKHttp服务器的工作示例
package test.jersey;
import java.net.URI;
import com.sun.net.httpserver.HttpServer;
import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory ;
import org.glassfish.jersey.server.ResourceConfig;
public class ConsoleServerV2 {
static final String BASE_URI = "http://localhost:9099/";
public static void main(String[] args) throws Exception {
HttpServer server = null ;
ResourceConfig rc = new ResourceConfig(rest.Service.class);
URI endpoint = new URI(BASE_URI);
server = JdkHttpServerFactory.createHttpServer(endpoint,rc);
System.out.println("console v2.0 : Press …Run Code Online (Sandbox Code Playgroud)