社区
Web 开发
帖子详情
求助:关于淘淘商城上传图片一直读条但图片服务器中已经显示
红桃三爱bug
2018-11-25 04:17:21
service层
controller
运行结果
ftp服务器中也显示
但是网页中一直在读条,不显示图片,还报错误。求助各位大佬解决,搞了一个周了,还是没解决。
...全文
95
3
打赏
收藏
求助:关于淘淘商城上传图片一直读条但图片服务器中已经显示
service层 controller 运行结果 ftp服务器中也显示 但是网页中一直在读条,不显示图片,还报错误。求助各位大佬解决,搞了一个周了,还是没解决。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
红桃三爱bug
2018-12-14
打赏
举报
回复
问题找到了,返回格式中map成功的key应该是url,不应该是message。
Insist_on_progress
2018-12-07
打赏
举报
回复
还不行就重启Nginx和ftp
Insist_on_progress
2018-12-07
打赏
举报
回复
话不多说直接上代码
1.ftp工具类
public class FtpUtil {
/**
* Description: 向FTP服务器上传文件
*
* @param host FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param basePath FTP服务器基础目录
* @param filePath FTP服务器文件存放路径。例如分日期存放:/2015/01/01。文件的路径为basePath+filePath
* @param filename 上传到FTP服务器上的文件名
* @param input 输入流
* @return 成功返回true,否则返回false
*/
public static boolean uploadFile(String host, int port, String username, String password, String basePath,
String filePath, String filename, InputStream input) {
boolean result = false;
FTPClient ftp = new FTPClient();
ftp.enterLocalPassiveMode();
try {
int reply;
ftp.connect(host, port);// 连接FTP服务器
// 如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器
ftp.login(username, password);// 登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
//切换到上传目录
if (!ftp.changeWorkingDirectory(basePath + filePath)) {
//如果目录不存在创建目录
String[] dirs = filePath.split("/");
String tempPath = basePath;
for (String dir : dirs) {
if (null == dir || "".equals(dir)) continue;
tempPath += "/" + dir;
if (!ftp.changeWorkingDirectory(tempPath)) {
if (!ftp.makeDirectory(tempPath)) {
return result;
} else {
ftp.changeWorkingDirectory(tempPath);
}
}
}
}
//设置上传文件的类型为二进制类型
ftp.setFileType(FTP.BINARY_FILE_TYPE);
//上传文件
if (!ftp.storeFile(filename, input)) {
return result;
}
input.close();
ftp.logout();
result = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return result;
}
/**
* Description: 从FTP服务器下载文件
*
* @param host FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param remotePath FTP服务器上的相对路径
* @param fileName 要下载的文件名
* @param localPath 下载后保存到本地的路径
* @return
*/
public static boolean downloadFile(String host, int port, String username, String password, String remotePath,
String fileName, String localPath) {
boolean result = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(host, port);
// 如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器
ftp.login(username, password);// 登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(fileName)) {
File localFile = new File(localPath + "/" + ff.getName());
OutputStream is = new FileOutputStream(localFile);
ftp.retrieveFile(ff.getName(), is);
is.close();
}
}
ftp.logout();
result = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return result;
}
}
2.配置文件(你要先用Nginx代理ftp)
ftpclient.host=ftp服务器ip
ftpclient.port=21
ftpclient.username=用户名
ftpclient.password=密码
ftpclient.basepath=/home/ftp/
ftpclient.filepath=/
3.controller层
@Controller
public class PicController {
@Value("${ftpclient.host}")
private String host;
@Value("${ftpclient.port}")
private String port;
@Value("${ftpclient.username}")
private String username;
@Value("${ftpclient.password}")
private String password;
@Value("${ftpclient.basepath}")
private String basePath;
@Value("${ftpclient.filepath}")
private String filePath;
@PatchMapping("/pic/upload")
@ResponseBody
public Map<String, Object> upload(MultipartFile uploadFile) throws Exception {
String filename = IDUtils.genImageName() + uploadFile.getOriginalFilename().substring(uploadFile.getOriginalFilename().lastIndexOf("."));
boolean b = FtpUtil.uploadFile(host, Integer.valueOf(port), username, password, basePath, filePath, filename, uploadFile.getInputStream());
HashMap<String, Object> map = new HashMap<>();
if (b) {
map.put("error", 0);
map.put("url", "http://" + host + "/" + filename);
} else {
map.put("error", 1);
map.put("message", "文件上传失败");
}
return map;
}
}
swfupload+asp+access批量
上传
图片
描述
中
提到,“目前没有实现AJAX回调
显示
图片
功能”,这表明当前的系统虽然可以实现
图片
的批量上传,但缺乏实时反馈机制。AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下与
服务器
交换...
求助
Axure:上传本地
图片
并
显示
在做一个商城订单管理系统,后台商品名称、型号、类别都
已经
通过
中
继器跨页面传值实现,但是卡在了上传商品图。所以
求助
一下有没有人跟着这个博主实现本地
图片
上传的?能否帮忙看看错在哪里?但是预览之后,通过...
富文本在
服务器
上
图片
不
显示
,
求助
:为什么froala富文本编辑器插入
图片
上传到
服务器
请求了两次?...
问题描述用的官方demo测试,使用froala设置了imageUploadURL参数后,如下图:插入
图片
会自动请求设定好的地址,但是却请求了两次,
图片
插入后会有一个进度条,这时会出现第一次请求,请求方式是OPTIONS,无请求数据;...
网站上传视频提示
服务器
i o错误
显示
错误,紧急
求助
:文件上传过程
中
出现I/O错误...
本帖最后由 zb2zb2zw 于 2010-9-3 06:08 编辑是DZ 7.2的论坛,UC是1.50的以下说说我试过的方法第一种:Q:头像上传提示 I/O 错误A:检查 UCenter 目录下./index.php 是否存在且完整./data/avatar/ 是否可写./data/tmp/...
matlab
中
axes
显示
,
求助
:在matlab的axes控件
中
显示
图像
本想在axes控件
中
显示
,可是只有第一次plot命令在控件
中
显示
,接下来的都是另开一个画图窗口
显示
图片
。。怎样让
图片
都在axes控件
中
显示
呢?求高手指点。附上代码:handles.timer = timer('Period',5,'ExecutionMode'...
Web 开发
81,117
社区成员
341,739
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章