使用XML-RPC上载WordPress媒体文件

时间:2017-09-12 10:27:25

标签: wordpress jsp

  

这是我的代码。

    public void fileUpload() throws Exception {
         byte fileByte[] =org.apache.commons.io.FileUtils.readFileToByteArray(new File(path+realName));
                String wpUpFile=fileToString(new File(path+realName));
                XmlRpcClient blog  = new XmlRpcClient();
                XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
                Hashtable<String, String> post = new Hashtable<>();
                Vector<Serializable> params = new Vector<Serializable>();
                config.setServerURL(url);
                config.setBasicUserName(user);
                config.setBasicPassword(pw);
                params.addElement(id);
                params.addElement(user);
                params.addElement(pw);
                post.put("name", realName);
                post.put("type", "image/jpeg");
                post.put("bits", wpUpFile);
                post.put("overwrite", "false");
                params.addElement(post);
                params.addElement(true);
                Object blogPostID = blog.execute(config, "wp.uploadFile", params);
    }
  

文件base64更改代码

 public String fileToString(File file) throws IOException {
                String fileString = new String();
                FileInputStream inputStream =  null;
                ByteArrayOutputStream byteOutStream = null;
                try {
                    inputStream = new FileInputStream(file);
                    byteOutStream = new ByteArrayOutputStream();
                    int len = 0;
                    byte[] buf = new byte[1024];
                        while ((len = inputStream.read(buf)) != -1) {
                             byteOutStream.write(buf, 0, len);
                    }
                    byte[] fileArray = byteOutStream.toByteArray();
                    fileString = new String(Base64.encodeBase64(fileArray));
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    inputStream.close();
                    byteOutStream.close();
                }
               return fileString;
    }
  

结果

enter image description here

  

图像文件未正确显示。问题是什么?   我不知道为什么会发生这种错误。请告诉我。请帮帮我。

0 个答案:

没有答案