![](/img/trans.png)
[英]Creating .jar file with netbeans when heap size is increased using -xmx
[英]file size increased during upload
我正在使用httpclient上傳文件。 上載后,文件大小會更改。 在文件上傳過程中,一些額外的內容會添加到文件中。
在上傳文件之前,文件包含:
hi this is vipin check
上傳后,文件包含:
--j9q7PmvnWSP9wKHHp2w_KCI4Q2jCniJvPbrE0
Content-Disposition: form-data; name="vipin.txt"; filename="vipin.txt"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
hi this is vipin check
--j9q7PmvnWSP9wKHHp2w_KCI4Q2jCniJvPbrE0--
為什么文件大小在變化? 為什么要添加這些多余的內容?
我的httpclient代碼是:
HttpPut httppost = new HttpPut(URIUtil.encodeQuery(newUrl));
httppost.setHeader("X-Auth-Token", cred.getAuthToken());
httppost.addHeader("User-Agent", "NetMagic-file-upload");
System.out.println("Dest : " + dest.getAbsolutePath());
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = (ContentBody) new FileBody(src);
mpEntity.addPart(dest.getName(), cbFile);
httppost.setEntity(mpEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
似乎正在發生的事情是,客戶端將要上傳的文件作為多部分實體發送,但是服務器將其視為純文件。 目前尚不清楚故障所在。
服務器可能會忽略請求標頭中的內容類型。 這很可能是servlet(或其他任何原因)中負責處理上傳請求的錯誤。
客戶端可能沒有在請求標頭中設置內容類型。 我曾希望客戶端庫能夠為您解決這一問題。 但是您可能需要明確地執行此操作。
我建議您查看請求標頭,它們是由客戶端發送或由服務器接收的,以查看是否存在適當的多部分內容類型。 這將幫助您確定問題所在。
但是有一個明顯的解決方案。 如果服務器無法處理多個部分,請更改客戶端以不發送它們。
您正在執行PUT請求,但是您的客戶端使用HTML表單帖子中常用的分段編碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.