public ActionResult TestUpload(ActionContext ac){
ActionResult ar=new ActionResult();
JSONObject args=ac.getArguments();
String base64 = JsonUtil.getString(args, "base64").substring(23);
String base64len = JsonUtil.getString(args, "base64len");
String basePath = EcpParameter.getAttachmentDirectory();
String storePath = ((DateFormat) formats.get(EcpParameter.getAttachmentStoreType()))
.format(new Date());
UUID name = UUID.randomUUID();
String storeName = name + "."+"jpeg";
String absoluteName = FileUtil.joinPath(new String[] { basePath, storePath, storeName });
GenerateImage(base64,absoluteName);
PictureModel picture = new PictureModel();
picture.setId(name);
picture.setName(storeName);
picture.setStorePath(storePath);
picture.setStoreName(storeName);
picture.setUploadUserId(ac.getUserId());
picture.setUploadTime(new Date());
//picture.setSize((int) fileItem.getSize());
UUIDpictureId=PictureHome.getDao().insert(picture);
ar.putClientValue("pictureId", pictureId);
if(pictureId!=null){
ar.putClientValue("error", 0);
ar.putClientValue("url", PictureHome.getPictureUrl(pictureId.toString()));
}else{
ar.putClientValue("error", 1);
ar.putClientValue("message", "upload error");
}
if(ac.getResponse()!=null){
ac.getResponse().setContentType("text/html;charset=UTF-8");//application/json
}
ar.putClientValue("success", true);
return ar;
}
public static boolean GenerateImage(String imgStr, String imgFilePath) {// 对字节数组字符串进行Base64解码并生成图片
if (imgStr == null) // 图像数据为空
return false;
BASE64Decoder decoder = new BASE64Decoder();
try {
// Base64解码
byte[] bytes = decoder.decodeBuffer(imgStr);
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {// 调整异常数据
bytes[i] += 256;
}
}
// 生成jpeg图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(bytes);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
}
相关推荐
ASP图片上传组件 图片批量上传控件 图片上传插件
提供了图片上传、裁剪和预览等功能,对与图片处理相关的程序具有重要的借鉴参考意义。 使用方法:下载压缩包后解压到本地,然后使用Eclipse或MyEclipse导入项目即可,项目路径中包含docs文件夹,里面有数据库表文件...
项目中使用 element组件,而其图片上传组件无法达到实现图片质量压缩的需求,需要再次封装,可以对上传的较大的图片质量进行压缩处理等;部分代码,仅供参考使用!
此实例是:从应用服务器将图片上传到图片服务器的某一个指定的IIS目录中 使用技术:WebClient、异步上传 流程: 1、在图片服务器上发布一个IIS的项目,项目中包含:图片存放目录、ASHX文件 2、在应用服务器上发布一...
uniapp 多张图片上传示例 VUE图片上传案例 前端图片上传源码 uniapp图片上传源码,很不错的例子
php 图片上传 模块
图片上传,自己写的,大家可以查考一下,一个小demo
图片上传压缩处理
多图片上传
JS+asp.net+图片上传+预览+支持多上传+上传前预览
图片上传本地预览插件
用于winform的图片上传下载,带图片预览,源码项目
swfupload是比较著名的图片上传工具,可以多图片上传,在一次开发中偶遇uploadify,比swfupload还强大好用,选项也很丰富,功能也很强大,再配合ajax技术,可以把多图片上传发挥到极致,我曾用它做多图片上传,上传...
swfupload图片上传插件制作图片批量上传和单个图片上传代码swfupload图片上传插件制作图片批量上传和单个图片上传代码
C# 导入Excel读取图片上传
iOS图片上传到服务器
Flex4.6+java+servlet上传图片例子+图片上传预览
利用ajaxupload组件实现的图片上传 1、在部署该工程时,要在tomcat/webapps/对应的工程下建upload/good目录; 2、在该工程中,点击一次上传图片按钮,就执行一次后台操作,然后将图片的路径保存在一个input的隐藏域...
主要为大家详细介绍了ASP.NET MVC实现图片上传、图片预览显示的相关资料,需要的朋友可以参考下
该资源为图片上传功能。该代码完善了图片上传的复杂内容,很不错