我想从我的Android应用程序使用loopj AndroidAsyncHttp库将视频文件上传到我的服务器。上传图像会产生“成功:200”响应,而尝试上传视频会给出500或302错误响应。这是我上传的方法:如何确保文件上传与视频使用loopj AndroidAsyncHttp?
private void uploadVideoTwo(String filePath){
AsyncHttpClient client = new AsyncHttpClient();
File myFile = new File(filePath);
RequestParams params = new RequestParams();
try {
params.put("file", myFile);
} catch (FileNotFoundException e) {
Log.e(TAG, "Params Exception: " + e.getMessage());
}
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.d(TAG, "Success: " + String.valueOf(statusCode));
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.d(TAG, "Failure: " + String.valueOf(statusCode));
}
});
}
我的PHP代码如下所示:
<?php
$result = array("success" => $_FILES["file"]["name"]);
$name= $_FILES['file']['name'];
$tmp_name= $_FILES['file']['tmp_name'];
$path= "uploads/";
if (isset($name)) {
if (empty($name))
{
$result = array("success" => "error uploading file");
}
else
{
if (move_uploaded_file($tmp_name, $path . $name)) {
$result = array("success" => "File successfully uploaded");
}
}
}
echo json_encode($result);
?>
Android Studio中的logcat显示视频文件的上传过程中进度百分比,但给错误响应它到达100%后。我正在使用一个意图打开相机捕捉视频,限制为30秒,大小限制为5 MB。我不知道为什么上传图片效果不错,但不是使用相同脚本的视频。
它在一台服务器上工作,但不是预期的服务器。 htaccess文件能否拒绝All in it会导致它不发生? –
有问题的服务器的'phpinfo()'输出中'upload_max_filesize'的值是多少? – SergeAx
最大文件上传大小为125M –