내 Java 응용 프로그램에서 병 웹 프레임 워크를 실행중인 서버로 zip 파일을 업로드하려고합니다.자바 프로그램에서 서버로 파일 업로드
이전에 장고 서버를 사용했고 이진 데이터로 변환 한 다음 작은 파일을 업로드하여 게시물 요청을 통해이를 보냈습니다.
zip 파일이 1-10MB 사이이므로이 프로젝트의 가장 좋은 아이디어인지 잘 모르겠습니다.
여전히 바이너리로 변환 한 다음 데이터를 보내거나 권장 할만한 다른 방법이 있습니까?
내 Java 응용 프로그램에서 병 웹 프레임 워크를 실행중인 서버로 zip 파일을 업로드하려고합니다.자바 프로그램에서 서버로 파일 업로드
이전에 장고 서버를 사용했고 이진 데이터로 변환 한 다음 작은 파일을 업로드하여 게시물 요청을 통해이를 보냈습니다.
zip 파일이 1-10MB 사이이므로이 프로젝트의 가장 좋은 아이디어인지 잘 모르겠습니다.
여전히 바이너리로 변환 한 다음 데이터를 보내거나 권장 할만한 다른 방법이 있습니까?
대용량 파일을 업로드하면 연결이 99 % 업로드 된 후에 고장 나고 다시 시작해야한다는 두려운 경험을 할 수 있습니다.
HTTP를 통해 서버에 (사건 것 같다) 응용 프로그램에서 큰 파일을 업로드하면, 다음과 같은 방법으로 선호 :
하는 응용 프로그램이 일부 적당한 크기의 작은 덩어리에서 파일을 분할하자를 . 이러한 정크에 일련 번호로 태그를 지정하십시오. 서버에 POST하면이 연결에서 큰 파일을 업로드하고 메타 데이터 (파일 이름 등)를 보냅니다. 그런 다음 청크를 게시하십시오.
서버가 청크를 수신하면 클라이언트에이를 확인해야합니다.
서버 측에서는 전송되고 누락 된 청크를 추적하고 청크 파일을 다시 어셈블 할 논리를 구현해야합니다.
그냥 내 두 센트.
또는 서버가 필요한 청크를 결정하게하십시오. 샘플 대화는 :
Client: I will upload "test.zip" in 4 chunks.
Server: Go ahead. Please send chunk 1.
Client: I am sending chunk 1 with checksum X.
Server: Thank you, checksum is OK. Please send chunk 2.
Client: I am sending chunk 2 with checksum Y.
Server: Thank you, checksum is bad. Please send chunk 2.
Client: I am sending chunk 2 with checksum Y.
Server: Thank you, checksum is OK. Please send chunk 3.
Client: I am sending chunk 3 with checksum Z.
Server: Thank you, checksum is OK. Please send chunk 4.
Client: I am sending chunk 4 with checksum A.
Server: Thank you, checksum is OK. Have a nice day.
는 연결이 고장 경우없는 덩어리의 재 전송을 구현하기 쉬운이 시작.
zip 파일이 바이너리가 아닌 경우 작동하지 않습니다. 전송을위한 텍스트 인코딩에 대해 언급하지 않는 한 (파일 크기가 증가합니다). –
zip 파일이 바이너리가 아닌 경우 무슨 뜻인지 확실하지 않습니다. 모든 것이 바이너리입니다. 파일을 바이너리로 읽어야하고 파일이 있습니다. 나는 바이너리로 읽는 것을 계획하고 있었고 아마도 데이터를 더 적게 만들기 위해 base64로 인코딩했을 것이다. – Ramis