这么个功能,一个请求,上传完之后直接下载
这样的我想做这一个功能,用户上传一个excel,然后我验证里面的内容,如果有错误的,我就把错误的信息保存在下,写在一个文件里,然后让他直接下载
效果就是用户上传一个excel,里面有错误,我页面上提示“该文件内容有错误,错误信息已经下载到您的计算机,请查看”,然后就自动下载一个文件给用户
怎么实现呢?能实现么
你所说的一个请求,就是用户只进行一下操作,并不是你代码发了几次请求,对吧?
基于这一点,你完全可以在上传成功后回调中,继续调用下载,比如ajax,可以在success方法中,嵌套ajax方法,继续调用下载代码。
当然可以,你没看过别人上传一张图片,之后就显示出来了,原理差不多,上传文件,保留一份文件,生成一份文件信息,之后调用下载方法就可以了。
可以的,这个需求应该这么搞:
1、用户上传文件,你收到文件之后,校验文件
2、返回json格式的状态码和下载地址
3、如果不对,前端收到状态信息,先展示,然后前端下载文件
这事应该是前端做,后端做不合适
上传-->处理-->输出文件流
上传和下载分别是关于request和response对象,各做各的就可以。
能的。
先上传再,上传成功后下载。可以下载上传好的文件也可以下载之前的文件。
var files = $('#file');
var file = files[0];
var formData = new FormData();
formData.append('file', file);
$.ajax({
type: 'post',
data: {},
url: '/api/uploadFile',
async: true,
cache: false,
contentType: false,
processData: false
}, function (responseData) {
if (responseData.statusCode === 200) {
window.open("/api/file/download/' + responseData.file.uuid);
console.log('上传成功,即将下载');
}
console.log('上传失败');
} else {
console.log('上传失败');
}