代码之家  ›  专栏  ›  技术社区  ›  J.mayer

只取“.jpg”(Android)[重复]

  •  0
  • J.mayer  · 技术社区  · 8 年前

    我只想上传我的应用程序 .jpg 而不是其他不同的文件 extensions .

    你能告诉我应该在代码中添加什么吗?

    这是我的代码:

        public void jetzt() {
    
          FTPClient ftpClient = new FTPClient();
          try {
              ftpClient.connect(" FTP SERVER IP");
    
              ftpClient.setSoTimeout(10000);
              ftpClient.enterLocalPassiveMode();
              if (ftpClient.login(" LOGIN ", " PASSWORD ")) {
                  ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                  ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE);
    
                  ftpClient.changeWorkingDirectory("/htdocs");
    
                  final String serial = getManufacturerSerialNumber();
                  ftpClient.makeDirectory(serial);
                  ftpClient.changeWorkingDirectory(serial);
    
    
                  final File folder = new File("mnt/sdcard/YmmyCandy");
    
                  for (final File fileEntry : folder.listFiles()) {
                      try {
                          FileInputStream fs = new FileInputStream(fileEntry);
                          if (!fileEntry.isDirectory()) {
                              String fileName = fileEntry.getName();
                              ftpClient.storeFile(fileName, fs);
                              fs.close();
                              Log.i(TAG, "sent");
                          }
    
                      } catch (Exception e) {
                          Log.i(TAG, "error uploading");
                      }
                  }
              }
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
    
    2 回复  |  直到 8 年前
        1
  •  1
  •   JoKr    8 年前

    好吧,既然您有了文件名,您可以检查它是否以.jpg(或.jpeg!)结尾:

        String filenameArray[] = fileEntry.getName().split("\\.");
        String extension = filenameArray[filenameArray.length-1];
        if (extension.equals("jpg") || extensions.equals("jpeg")) {...}
    
        2
  •  1
  •   Community CDub    7 年前

    在这里:

    for (final File fileEntry : folder.listFiles()) {
        ...
        String fileName = fileEntry.getName();
        ftpClient.storeFile(fileName, fs);
    

    你已经 文件名“手边”;但不是写一张简单的支票,比如 if (fileName.endsWith(".jpeg")) 你只需上传所有文件!

    当然,事情需要改进。如果您确切地知道所有文件都以.jpeg结尾,那么就可以了,但也许jpg、jpg等也可以。

    如果您想要一个真正“完整”的解决方案,您必须检查 MIME 每个文件的类型。