Php 改造Android上传视频

Php 改造Android上传视频,php,android,retrofit,Php,Android,Retrofit,我正在使用改型将图像上载到我的服务器 上传工作正常 但是当图像大小有点大时,它会抛出一个异常 java.net.SocketException: sendto failed: EPIPE (Broken pipe) 这是我的密码 public interface RestClient { @Multipart @POST("/upload2.php") Response uploadUserIds(@Part("photo") TypedFile photo); } RestAdapter

我正在使用改型将图像上载到我的服务器 上传工作正常 但是当图像大小有点大时,它会抛出一个异常

java.net.SocketException: sendto failed: EPIPE (Broken pipe)
这是我的密码

public interface RestClient {
@Multipart
@POST("/upload2.php")
Response uploadUserIds(@Part("photo") TypedFile photo);
 }

RestAdapter restAdapter = new RestAdapter.Builder()
        .setEndpoint(UploadFiles.SERVER_URL)
        .setLogLevel(RestAdapter.LogLevel.BASIC)
        .setLog(new RestAdapter.Log() {
            @Override
            public void log(String msg) {
                Log.i(TAG, msg);
            }
        })
        .build();

RestClient service = restAdapter.create(RestClient.class);
//我的电话

Response tr = service.uploadUserIds(new TypedFile(typeFile, f));

这不一定是客户端的问题。我强烈认为文件大小超过了服务器允许的maxUpload大小。

我也遇到了这个问题。我在emulator上的Android客户端中使用了Reformation,并试图将(相当小的)测试视频文件上载到Windows PC上Eclipse中运行的服务器代码中。我使用以下方法设置Reformation以进行完整日志记录:

RestAdapter restAdapter = new RestAdapter.Builder()
        .setEndpoint("http://10.0.2.2:8080")
        .setLogLevel(LogLevel.FULL)
        .build();
在尝试上载某些文件时,这始终会导致上述错误。 但是,当我使用
setLogLevel(LogLevel.basic)
将日志级别设置为basic时,所有这些文件都开始上传了


所以我怀疑这可能是某种内部改装错误,可能与缓冲区溢出有关。我不认为这是服务器问题。

可能是服务器端的问题。脚本可能卡在代码中的某个地方,因此在服务器关闭套接字的同时不发布响应。对此可能有两种解决方案:

  • 解决服务器端脚本中的问题
  • 第二个不可取:

  • 在客户端将超时值增加到一个大数字 希望这有帮助