我已经写了下面的代码来做到这一点 - :)
@POST
@Path("/UploadProfileImage")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public String uploadProfileImage(@FormDataParam("imageFile") InputStream uploadedImageInputStream,@HeaderParam("mPolicyGroupSeqId")String PolicyGroupSeqId){
JSONArray arra = new JSONArray();
LinkedHashMap<String, String> mapObject = new LinkedHashMap<String, String>();
LinkedHashMap<String,Object > mapObject1 = new LinkedHashMap<String, Object>();
ArrayList<Object> LogoList = new ArrayList<Object>();
try {
System.out.println("upload profile image");
String strPolicyGroupSeqId=TTKCommon.checkNull(PolicyGroupSeqId);
WebServiceManager webServiceManager=this.getWebServiceManagerObject();
//byte[] bytes = IOUtils.toByteArray(uploadedImageInputStream);
byte[] bytes = new byte[1024];
int bytesRead=0;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = uploadedImageInputStream.read(bytes,0,bytes.length)) != -1)
{
output.write(bytes, 0, bytesRead);
}
output.flush();
byte[] byteArray = output.toByteArray();
String filePath = "D:/Download Here/exist.jpg";
FileOutputStream fos = new FileOutputStream(filePath);
BufferedOutputStream outputStream = new BufferedOutputStream(fos);
outputStream.write(output.toByteArray());
outputStream.flush();
if(uploadedImageInputStream != null){
System.out.println("inputstream is not a null value");
}
if(bytes != null){
System.out.println("bytes is not a null value");
}
int status=webServiceManager.uploadProfileImageonSubmit(strPolicyGroupSeqId,byteArray,1);
System.out.println(status);
mapObject.put("status",""+status);
// outputStream.close();
// output.close();
}//end of try
catch (TTKException tte) {
tte.printStackTrace();
try{
String errorMsg="Error While Searching ProfilePicture Data.....";
mapObject.put("status", "F");
mapObject.put("error_message",errorMsg);
}catch(Exception ie) {
ie.printStackTrace();
mapObject.put("status", "F");
mapObject.put("error_message", "Error While Searching ProfilePicture Data!.....");
}
}catch (Exception e) {
e.printStackTrace();
mapObject.put("status", "F");
mapObject.put("error_message", "Error While Searching ProfilePicture Data?.....");
}
arra.put(mapObject);
//arra.put(mapObject1);
return arra.toString();
}
当我从Postman或soap UI工具调用下面的URL时,通过传递所有必需的详细信息,而不是它在数据库中成功存储字节数组,但输入流对象中的字节数组是不正确的,因为如果我在图像文件中转换该字节数组也比该图像文件,我无法打开。
请建议我任何其他事情,我可以做来实现这个.help将是非常可观的。
谢谢。
谢谢dsp_user我用MediaType.APPLICATION_OCTET_STREAM,从邮递员那里,我正在传递二进制图像,比它工作正常。
@SuppressWarnings("unchecked")
@POST
@Path("/UploadProfileImage")
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
@Produces(MediaType.APPLICATION_JSON)
public String uploadProfileImage(@FormDataParam("file")InputStream uploadedImageInputStream,@HeaderParam("mPolicyGroupSeqId")String PolicyGroupSeqId){
JSONArray arra = new JSONArray();
LinkedHashMap<String, String> mapObject = new LinkedHashMap<String, String>();
try {
System.out.println("upload profile image");
String strPolicyGroupSeqId=TTKCommon.checkNull(PolicyGroupSeqId);
WebServiceManager webServiceManager=this.getWebServiceManagerObject();
System.out.println("mPolicyGroupSeqId "+PolicyGroupSeqId);
byte[] bytes = new byte[1024];
bytes = org.apache.commons.io.IOUtils.toByteArray(uploadedImageInputStream);
/*
String filePath = "D:/Download Here/hello.png";
FileOutputStream fos = new FileOutputStream(filePath);
BufferedOutputStream outputStream = new BufferedOutputStream(fos);
outputStream.write(bytes);
fos.flush();
fos.close();
outputStream.flush();
outputStream.close();*/
System.out.println("kbbsssssssssss "+bytes.length);
int status=webServiceManager.uploadProfileImageonSubmit(strPolicyGroupSeqId,bytes,1);
if(status==1){
mapObject.put("status", "P");
mapObject.put("message","Profile Picture Uploaded Successfully");
}else{
mapObject.put("status", "F");
mapObject.put("error_message","Profile Picture Not Uploaded Successfully");
}
System.out.println(status);
}//end of try
catch (TTKException tte) {
tte.printStackTrace();
try{
String errorMsg="!Error While Uploading ProfilePicture ...";
mapObject.put("status", "F");
mapObject.put("error_message",errorMsg);
}catch(Exception ie) {
ie.printStackTrace();
mapObject.put("status", "F");
mapObject.put("error_message", "!Error While Uploading ProfilePicture Data ...");
}
}catch (Exception e) {
e.printStackTrace();
mapObject.put("status", "F");
mapObject.put("error_message", "!Error While Uploading ProfilePicture Data...");
}
arra.put(mapObject);
return arra.toString();
} //end of uploadProfileImage
此代码适用于我(尽管我使用 REST 控制台客户端进行了测试,而不是邮递员或 SoapUI)
@POST
@Path("/uploadProfileImage")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
public String saveImage(byte[] bytes) throws IOException {
this.saveImageToFile("D:\Download Here\exist.jpg", bytes);
return "Image saved";
}
private void saveImageToFile(String savedImg, byte[] imgData) throws IOException {
InputStream in = new ByteArrayInputStream(imgData);
try {
BufferedImage buffImage = ImageIO.read(in);
ImageIO.write(buffImage, "jpg", new File(savedImg));
} finally {
if (in != null)
in.close();
}
}
我正在尝试通过REST API在服务器上上传文件。我的api请求FormData模型,但Im得到错误。 devtools中得“我得请求”得有效负载 ------WebKitFormBoundaryVpirgXMC3RU3AOFA内容-配置:表单-数据;name=“文件”;filename=“test.jpg”content-type:image/jpeg -----WebKitFormBounda
我必须上传从用户首选的应用程序(Cameta,画廊等)选择后的图像文件。我可以在Imageview中显示结果意图为位图。现在我想上传这个图像后,一个按钮将被点击。我用改装来做到这一点。我跟随ImagePicker类将图像收集到我的Imageview中。 正在收集图像代码: 要将图像上载到服务器,我使用改装库 API接口 我的问题是,在将result intent中的Imageview设置为在服务器
经过一些研究,我发现了一个用于多部分文件上传的开放库。在我的情况下,我想上传一个图像使用PUT请求,其中的图像要么是从画廊或相机选择。以下是我正在使用的资源:1。https://github.com/gotev/android-upload-service2.https://www.simplifiedcoding.net/android-upload-image-to-server/#comme
我有一个rest服务,接受正常参数和文件形式的多部分。 我想用resttemplate将数据和文件发送到上面的rest服务。 在我发送正常字符串数据之前,没有任何问题。一旦我添加了发送字节的代码,然后我开始得到400个坏的请求错误。 客户端代码
我正在通过我的Rails4应用程序中的CarrierWave将图像上传到AWS3的桶中。我也有Cloudfront设置,它目前为我的所有statis资产提供服务(不包括公共上传)。 我如何通过Cloudfront而不是S3服务上传的图像,即使它们存储在S3桶中?我已经找到了这样的教程,但是由于我已经有一个CloudFront发行版在运行,我想知道是否应该为我的公共映像上载添加另一个,或者有没有一种
我试图创建一个apache2网页,允许用户上传nifti(. nii,.nii.gz)文件。 我尝试了两种不同的方法: > 在WSL Ubuntu 18.04上,“move_uploaded_文件($_文件[“fileToUpload”][“tmp_名称”],$target_文件)”不返回任何内容。它完全失败了。 在XAMPP上,页面可以获取PDF、JPG..等文件,但不能获取.nii、.exe(