使用http PUT上传的文件在服务器上的大小不正确
问题描述:
我正尝试使用预先设置的URL将不同MIME类型的文件上传到AWS S3。我能够在S3上看到文档,但内容不恰当。它要么是0字节,要么小于我尝试的每个文件的预期大小。使用http PUT上传的文件在服务器上的大小不正确
下面是代码,请让我知道什么是缺少:
public static void main(String[] args) {
URLConnection urlconnection = null;
try {
File file = new File(File_Path);
if (isEncoded == "false") {
URL obj = new URL(Upload_Url);
urlconnection = obj.openConnection();
} else {
try {
URI uri = new URI(Upload_Url);
URL url = uri.toURL();
urlconnection = url.openConnection();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
urlconnection.setDoOutput(true);
urlconnection.setDoInput(true);
if (urlconnection instanceof HttpURLConnection) {
((HttpURLConnection) urlconnection).setRequestMethod("PUT");
((HttpURLConnection) urlconnection).setRequestProperty("Content-Type", Content_Type);
((HttpURLConnection) urlconnection).connect();
}
BufferedOutputStream bos = new BufferedOutputStream(urlconnection.getOutputStream());
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
int i;
// read byte by byte until end of stream
while ((i = bis.read()) > 0) {
bos.write(i);
}
bis.close();
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
它是否符合内容或尺寸?有什么异常? – Lokesh
什么HTTP状态码被返回? – EJP
文件大小不合适。因此,当我下载文件时,它已损坏。 – Jayashree