java - 我可以使用 PUT 和 HttpUrlConnection 将图像发送到我的共享主机帐户吗?

标签 java file upload httpurlconnection

有点难以置信,Java 在客户端让这一切变得如此简单。我确信我必须先将图像发布到服务器文件中以对其进行清理,但我也希望阻止任何人访问这样的服务器文件(并且想了一点)并最终向我发送垃圾邮件。我需要严格的流程,避免最终用户潜在的篡改。

根据我读到的内容,如果我理解正确的话,PUT 应该正是我所需要的。我的签名 ja 将与站点相关的信息图像从客户端发送到服务器,而不会暴露我的任何 FTP 信息或泄露可能受到攻击的上传文件。我想我对 PUT 是否有正确的把握是我的问题。它会通过 http 将图像放置在我的帐户上,而无需额外的处理过程?

顺便问一下,我怎样才能将此代码片段用于图像?

URLConnection urlconnection=null;
try{
File file = new File("C:/test.txt");
URL url = new URL("http://192.168.5.27/Test/test.txt");
urlconnection = url.openConnection();
urlconnection.setDoOutput(true);
urlconnection.setDoInput(true);

if (urlconnection instanceof HttpURLConnection) {
try {
((HttpURLConnection)urlconnection).setRequestMethod("PUT");
((HttpURLConnection)urlconnection).setRequestProperty("Content-type", "text/html");
((HttpURLConnection)urlconnection).connect();


} catch (ProtocolException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
}
}


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);
}
System.out.println(((HttpURLConnection)urlconnection).getResponseMessage());
}
catch(Exception e)
{
e.printStackTrace();
}
try {

InputStream inputStream;
int responseCode=((HttpURLConnection)urlconnection).getResponseCode();
if ((responseCode>= 200) &&(responseCode<=202) ) {
inputStream = ((HttpURLConnection)urlconnection).getInputStream();
int j;
while ((j = inputStream.read()) >0) {
 System.out.println(j);
}

} else {
inputStream = ((HttpURLConnection)urlconnection).getErrorStream();
}
((HttpURLConnection)urlconnection).disconnect();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

没有。绝大多数 Web 服务器并不像您想象的那样实现 PUT 命令。 PUT 命令在 WebDAV 协议(protocol)或自定义 REST API 之外通常没有用处。

关于java - 我可以使用 PUT 和 HttpUrlConnection 将图像发送到我的共享主机帐户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047667/

相关文章:

c# - 由 Directory.Delete() 引起的 WCF 安全异常

maven-2 - 通过 Maven 将整个目录上传/下载到 Nexus

java - 如何从 ILOG JRules 业务规则调用 java 类

kerberos 票证到期时 Java 客户端挂起

linux - Bash - 按列加入(合并)文件

php - 如何从本地机器上传文件并将其移动到 Joomla 3.6 的特定目录(从 config.xml 上传)

java - 在 cloudbees 上上传基于 OTP(opentrip planner ) 的旅程规划器

Python urllib2文件上传问题

java - 将文件读入二维数组

java - Primefaces 3.4 单元内可编辑表格在验证失败后将 inputtext-cell 标记为红色