It looks like a bug, since there shouldn't be that name=help.png there in the Content-Type. I get the same thing on SoapUI 5.4.0.
You are working around it by using Post QueryString and reading a file for the value of one of the parameters. Unfortunately, this is hard coded to use image/x-png and not image/png. The former is used for legacy support, even though image/png is standardised now.
public class ContentTypeHandler {
static {
suffixToContentType = new HashMap<String, String>();
suffixToContentType.put("gif", "image/gif");
suffixToContentType.put("xbm", "image/x-xbitmap");
suffixToContentType.put("xpm", "image/x-xpixmap");
suffixToContentType.put("png", "image/x-png");
suffixToContentType.put("ief", "image/ief");
suffixToContentType.put("jpeg", "image/jpeg");
suffixToContentType.put("jpg", "image/jpeg");
suffixToContentType.put("tiff tif", "image/tiff");
suffixToContentType.put("tif", "image/tiff");
suffixToContentType.put("rgb", "image/rgb");
// suffixToContentType.put("", "image/x-rgb");
suffixToContentType.put("g3f ", "image/g3fax");
suffixToContentType.put("xwd ", "image/x-xwindowdump");
suffixToContentType.put("pict", "image/x-pict");
suffixToContentType.put("ppm", "image/x-portable-pixmap");
suffixToContentType.put("pgm", "image/x-portable-graymap");
suffixToContentType.put("pbm", "image/x-portable-bitmap");
suffixToContentType.put("pnm", "image/x-portable-anymap");
suffixToContentType.put("bmp", "image/x-ms-bmp");
suffixToContentType.put("ras", "image/x-cmu-raster");
suffixToContentType.put("pcd", "image/x-photo-cd");
suffixToContentType.put("cgm", "image/cgm");
// suffixToContentType.put("", "image/naplps");
suffixToContentType.put("mil", "image/x-cals");
suffixToContentType.put("cal", "image/x-cals");
suffixToContentType.put("fif", "image/fif");
suffixToContentType.put("dsf", "image/x-mgx-dsf");
suffixToContentType.put("cmx", "image/x-cmx");
suffixToContentType.put("wi", "image/wavelet");
suffixToContentType.put("dwg", "image/vnd.dwg");
// suffixToContentType.put("", "image/x-dwg");
suffixToContentType.put("dxf", "image/vnd.dxf");
// suffixToContentType.put("", "image/x-dxf");
suffixToContentType.put("svf", "image/vnd.svf");
}
I don't know how you'd do something about the bug with adding name to the content-type.
If you know how to build SoapUI from the source code, you could modify the above HashMap in src\main\java\com\eviware\soapui\support\editor\inspectors\attachments\ContentTypeHandler.java, and continue using your workaround.