DelphiのIdHTTP1のPOST機能を使用し、ファイルアップロードの開発を行っています。
以下のように、pdfのファイル名を長くすると、java側で受け取った際に途中で切れてしまいます。
TIdMultiPartFormDataStreamのアップロードするファイル名の長さに制限はありますでしょうか?
procedure XXXXXXXX.doTempUPProc(); var w_url: String; w_ret: string; w_errmsg: string; DataPath : String; DataStream : TIdMultiPartFormDataStream; ResStream : TMemoryStream; begin IdHTTP1.Request.Connection := 'Keep-Alive'; IdHTTP1.Request.CustomHeaders.Clear; IdHTTP1.Request.ContentType := 'application/json'; //アップロードするファイル DataPath := 'C:\temptest\あああああああああ1いいいいいいいいい2ううううううううう3えええええええええ4おおおおおおおおお5.pdf'; DataStream := TIdMultiPartFormDataStream.Create; ResStream := TMemoryStream.Create; //URL指定 w_url := 'http://localhost:8080/tempfileupload'; //開発マシンでのテスト用 w_errmsg := ''; //実行 try w_ret := '0'; //アップロードするファイルとMIMEタイプの指定 DataStream.AddFile('upfile', DataPath, ''); //アップロード IdHTTP1.Post(w_url, DataStream, ResStream); ResStream.Position := 0; except on E: Exception do begin w_errmsg := E.Message; w_ret:='9'; end; end; if w_ret='0' then begin //{正常に終了しました。} end else begin //{エラーが発生したため、処理を中断しました。} Exit; end; end;
あなたの回答
tips
プレビュー