http 上传文件
@RequestMapping(method=RequestMethod.POST,value = "/upload")
public ModelAndView processImageUpload(@RequestParam(value="groupname",required=false) String group,
@RequestParam(value="remotefilename",required=false) String remotefilename,
@RequestParam(value="extname",required=true) String extname,
@RequestParam("file") MultipartFile file ,@RequestParam(value="format",required=false) String format // 关键就是这句话起了作用
){
Response<FastDFSFile> response = new Response<FastDFSFile>();
ReturnResult<FastDFSFile> returnResult = new ReturnResult<FastDFSFile>();
ResponseHeader responseHeader = new ResponseHeader();
boolean appendFlag = false;
String[] results = null;
try {
if (!file.isEmpty()) {
if(group != null && !group.equals("") && remotefilename != null && !remotefilename.equals("")){
results = new String[2];
results[0] = group;
results[1] = remotefilename;
appendFlag = true;
}else
appendFlag = false;
byte[] file_buff = file.getBytes(); String[] fDinfo = FastDFS.getServer().upload(appendFlag, results, file_buff, extname);
if(fDinfo.length == 2){
List<FastDFSFile> fileList = new ArrayList<FastDFSFile>();
FastDFSFile info = new FastDFSFile();
info.setGroupname(fDinfo[0]);
info.setRemotefilename(fDinfo[1]);
fileList.add(info);
responseHeader.setStatus(0);
returnResult.setNumFound(1);
returnResult.setStart(1);
returnResult.setFilelist(fileList);
}else if(fDinfo.length == 1){
throw new UFEException(fDinfo[0]);
}else{
throw new UFEException("no return fastDFS!");
}
}else{
RError er = new RError();
er.setInfo("No file!");
er.setType(1);
responseHeader.setError(er);
responseHeader.setStatus(1);
}
} catch (Exception e1) {
RError er = new RError();
if(e1.getCause() == null)
er.setInfo(e1.getMessage());
else
er.setInfo(e1.getCause().getMessage());
er.setType(1);
responseHeader.setStatus(1);
responseHeader.setError(er);
}
response.setResult(returnResult);
response.setResponseHeader(responseHeader);
if(format != null && format.equals("json"))
return new ModelAndView(TypeDef.JSON_VIEW_NAME, "object", response);
else
return new ModelAndView(TypeDef.XML_VIEW_NAME, "object", response);
}
http 上传文件的更多相关文章
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- 三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader
发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"up ...
- asp.net mvc 上传文件
转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...
- app端上传文件至服务器后台,web端上传文件存储到服务器
1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver&q ...
- .net FTP上传文件
FTP上传文件代码实现: private void UploadFileByWebClient() { WebClient webClient = new WebClient(); webClient ...
- 通过cmd完成FTP上传文件操作
一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...
- 前端之web上传文件的方式
前端之web上传文件的方式 本节内容 web上传文件方式介绍 form上传文件 原生js实现ajax上传文件 jquery实现ajax上传文件 form+iframe构造请求上传文件 1. web上传 ...
- Django session cookie 上传文件、详解
session 在这里先说session 配置URL from django.conf.urls import patterns, include, url from django.contrib i ...
- 4 django系列之HTML通过form标签来同时提交表单内容与上传文件
preface 我们知道提交表单有2种方式,一种直接通过submit页面刷新方法来提交,另一种通过ajax异步局部刷新的方法提交,上回我们说了通过ajax来提交文件到后台,现在说说通过submit来提 ...
- 1. Django系列之Django与ajax上传文件
html代码如下: <div class="form-group"> <label for="exampleInputFile">附件上 ...
随机推荐
- android中一个解决办法
E Trace(732): error opening trace file: No such file or directory (2)android api 的版本和模拟器的版本不一致导致的
- AngularJS讲义-控制器
在Angular中,控制器(Controller)就是基于JavaScript的构造方法,主要用来构造模型并建立模型和视图之间的数据绑定.控制器里面定义了应用程序的逻辑和行为. 通过ng-contro ...
- HDU5115 Dire Wolf(区间DP)
渐渐认识到区域赛更侧重的是思维及基本算法的灵活运用,而不是算法的量(仅个人见解),接下来要更多侧重思维训练了. 区间DP,dp[i][j]表示从i到j最终剩余第i 与第j只的最小伤害值,设置0与n+1 ...
- Accelerating Matlab
Matlab is a very useful programming environment, but it also has many inefficiencies. You might thin ...
- apk 打包方式
1 项目-->Android tools -->Export Signed Application Package 2 在项目 manifest.xml文件下 单击“use the Ex ...
- 遍历注册表回调函数(仿PCHunter CmpBack)
遍历注册表回调函数(仿PCHunter CmpBack) typedef struct _CAPTURE_REGISTRY_MANAGER { PDEVICE_OBJECT deviceObject; ...
- MFC中afx_msg是什么,afx_msg void function()是什么意思
应用程序框架产生的消息映射函数例如:afx_msg void OnBnClickedButton1(); 其中 afx_msg为消息标志,它向系统声明:有消息映射到函数实现体:而在map宏定义中,就有 ...
- An easy problem
An easy problem Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Sub ...
- Asp.Net Mvc 控制器与视图的数据传递
数据传递也就是控制器和视图之间的交互,比如在视图中提交的数据,在控制器怎么获取,或者控制器从业务层获得一些数据,怎么传递到视图中,让视图显示在客户端呢?带着这些疑问,我们接着看.. 下面 ...
- AOP动态代理解析4-jdk代理的实现
JDKProxy的使用关键是创建自定义的InvocationHandler,而InvocationHandler中包含了需要覆盖的函数getProxy,而当前的方法正是完成了这个操作.在此确认一下JD ...