การอัปโหลดไฟล์ Java FTP xls

ฉันกำลังพยายามอัปโหลดไฟล์ไปยัง FTP Server ในคลาส Java ฉันใช้ไลบรารี apache: org.apache.commons.net.ftp.FTPClient ฟังก์ชันการอัปโหลดทำงานได้ดีจนกว่าฉันจะพยายามอัปโหลดไฟล์ XLS (Excel) โดยเฉพาะอย่างยิ่งเมื่อฉันอัปโหลด ไฟล์นั้นถูกอัปโหลด แต่ดูเหมือนว่าจะเสียหาย ความจริงแล้วขนาดของมันแตกต่างจากขนาดเดิม และเมื่อฉันพยายามเปิด มันเปิดไม่ถูกต้องและไม่แสดงข้อมูลทั้งหมด

นี่คือส่วนหนึ่งจากโค้ดที่ฉันใช้:

FTPClient ftpClient = new FTPClient();
File[] fileList;fileList = localFilePath.listFiles();
for (File file : fileList) {
    String fileName = file.getName();
    FileInputStream fileInputStream = new FileInputStream(file);
    ftpClient.storeFile(fileName, fileInputStream);
    fileInputStream.close();
}

ขอบคุณมากสำหรับความช่วยเหลือใด ๆ


person Enrico    schedule 14.09.2011    source แหล่งที่มา


คำตอบ (1)


ฉันแก้ไขปัญหาโดยใช้คำแนะนำในกระทู้นี้:

โอนไบนารีดิบด้วย apache commons-net FTPClient หรือไม่

สิ่งที่ฉันต้องทำคือการตั้งค่าโหมดไฟล์ไบนารีสำหรับไฟล์ที่ไม่ใช่ .txt:

if (fileExtension.equals("txt")) {
    ftpClient.setFileType(FTPClient.ASCII_FILE_TYPE);
} else {
    ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
}
person Enrico    schedule 15.09.2011
comment
ขอบคุณมาก! นอกจากนี้ ตามหมายเหตุด้านข้าง คุณสามารถเข้าถึงค่าคงที่เหล่านั้นได้โดยตรงจากคลาส FTP แทน FtpClient... - person spauny; 06.02.2013