我如何在网站上的应用程序中接收文件



我希望我的Android应用程序的用户能够使用http将zip文件发送到我的服务器。我想象的是这样的用例:

  • 用户使用HttpClientHttpPost(如下所述)发送一个包含密码的ZIP文件和一个字符串。

  • 通过使用现有密码登录www.example.com/my_app,用户可以下载人们通过给定密码发送到我的服务器的文件。

我不明白如何做第二步。我需要在网站上编写什么代码才能接收Android用户一直发送的文件?我在托管计划和一个简单的网站下有共享服务器。

您首先需要修改上传代码(因为文件上传被视为多部分数据)。这是修改的上传代码 -

String url = "http://localhost/upload.php";
        File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),
                "file.txt");
        try {
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(url);
            Part[] parts = new Part[1];
            parts[0] =  new FilePart("fileToUpload", file);
            MultipartEntity reqEntity = new MultipartEntity(parts);
            reqEntity.setContentType("binary/octet-stream");
            reqEntity.setChunked(true); // Send in multiple parts if needed
            httppost.setEntity(reqEntity);
            HttpResponse response = httpclient.execute(httppost);
        } catch (Exception e) {
            e.printStackTrace();
        }

在这里,我使用 FileToupload 作为上传文件的参数键。在服务器代码上,您可以为 $ _文件[" FileToupload"] 使用相同的密钥。这是最简单的PHP代码,该代码接受了上面的Android代码上传数据 -

<?php
$target_dir = "/Users/chauhan/Desktop/uploads/";
$target_file = $target_dir . basename("abc.txt");
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);
?>

相关内容

  • 没有找到相关文章

最新更新