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">附件上 ...
随机推荐
- NYOJ题目113字符串替换
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr4AAAHvCAIAAAA930vtAAAgAElEQVR4nO3dPVLjysIG4G8T5CyE2A ...
- JQ 特效下拉列表 写出与css一样的效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Jquery自定义扩展方法(一)
jquery是一款流行的JS框架,自定义JS方法,封装到Jquery中,调用起来也挺方便的,怎么写Jquery扩展方法那,网上翻阅了一部分代码,其实也挺简单的: 方式一: (jQuery.fn.set ...
- java Integer == 比较的小问题
示例代码: @Test public void testEquals() { Integer a = 127; Integer b = 127; if(a == b) { System.out.pri ...
- ASP.NET 5探险(6):升级ASP.NET 5到beta6
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软根据ASP.NET 5的路线图如期发布了beta6,现在我们就来说说beta5升级 ...
- Ubuntu14.04LTS系统输入法的安装
由于安装的时候选择的是英文版,所以一进入系统问题就来了:无法输入中文. 我记得自己直接选的输入法是pinyin那个 在网上看到别人到blog,直接转过来吧,只为自己收藏下,如有需要请联系原作者. 转载 ...
- 借助mosquitto“实时”远程监控服务器数据库运行状态
公司的项目还处于开发阶段,我把整个后台服务临时放在阿里云上供前端测试,用的阿里云的ECS云服务器,HTTP请求服务器和数据库服务都安装在一台机子上(穷啊,凑合用),做测试用,配置相当低:单核1Gb.其 ...
- 字幕文件 WebVTT 与 srt 之间的互相转化
1. WebVTT 2 srt 1. 用记事本打开 .vtt 文件: 2. 在记事本中点击 编辑 -> 替换 -> 查找内容中输入".",替换为中输入",& ...
- android:layout_weight属性详解 (转)
在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提 ...
- HTML Entity Sets - All
http://www.htmlentities.com/html/entities/ The view below displays the characters used in the offici ...