在线电影网站上线半个多月了,磨磨蹭蹭的也解决了一些问题。
很多时候系统在本地是没有问题的,生产环境下却问题百出,比如后台的系统信息采集引擎出问题,
相同的影视资源有采集却不更新,俗话说网站内容是王啊,这个问题必须排第一位。
有的时候考虑网站除了广告收入是否还有其他模式的收入呢?
百思不得其解,理论上一切都在变,相同的模式不一定总是长青树。
曾经的报纸现在却没落了,FACEBOOK异军突起,所以要保持百思的势头,
哪天想到了新的互联网模式,能跟QQ并驾齐驱了(YY下)
在没想到新模式之前吃饭还是要靠广告了,今天在网站后台上传了广告图片,却意外发现上传功能不能用
马上在本地测试,没问题,并调出了系统日志
java.io.FileNotFoundException: v0/hangzhouvedio/webapps/ROOT/advertis_files/20101229130615.jpg (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at com.wang.vedio.util.dwr.AdvertistDwr.imgUpLoad(AdvertistDwr.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:740)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:744)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:593)
at org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:90)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.wang.vedio.util.filter.CharacterFilter.doFilter(CharacterFilter.java:21)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)
根据错误信息来看是没有操作权限了,网站部署在虚拟空间上,服务器用的是LINUX,对于这种环境下获取路径该怎么办呢?请路过的大虾们留下宝贵的意见
另,本地测试的系统编码没有问题,上传功能可以实现,把上传代码也贴出来吧
public String imgUpLoad(FileTransfer upfile, String filename){
try{
InputStream is = upfile.getInputStream();
byte[] buffer = new byte[is.available()];
if(is.available() == 0){
return "图片为空请重试!";
}
if(upfile.getMimeType().indexOf("image") == -1){
return "请上传图片类型文件!";
}
String file_name = null;
if(filename == null || "".equals(filename)){//是否自定义文件名
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
file_name = sdf.format(new Date());
}else{
file_name = filename;
}
String url = Thread.currentThread().getContextClassLoader().getResource("").getPath();
String dir = url.substring(1, url.indexOf("WEB-INF")-1).replaceAll("%20", " ");//保存图片的根路径
file_name = file_name + upfile.getFilename().substring(upfile.getFilename().lastIndexOf("."));
file_name = "/imgage/advertis/" + file_name;//需要保存数据库的路径+文件名,用于页面访问
FileOutputStream output = new FileOutputStream(new File(dir + file_name));//这里是第38行,就这里出错
is.read(buffer);
output.write(buffer);
output.flush();
output.close();
is.close();
return file_name;
}catch(Exception e){
e.printStackTrace();
return "上传出错";
}
}
分享到:
相关推荐
代码 复杂网络平均最短路径求解程序代码 复杂网络平均最短路径求解程序代码 复杂网络平均最短路径求解程序代码 复杂网络平均最短路径求解程序代码 复杂网络平均最短路径求解程序代码 复杂网络平均最短路径求解程序...
### 基于Dijkstra算法的最短路径求解 #### 概述 最短路径问题是图论中的经典问题之一,在交通规划、网络优化、物流配送等众多领域有着广泛的应用。传统的Dijkstra算法能够有效地计算从一个源节点到图中其他所有...
在“分支定界算法求解带约束的最短路径问题”中,我们聚焦于如何利用这种算法来解决一个特定类型的网络流问题,即在满足特定约束条件下找出从起点到终点的最短路径。 最短路径问题是一个经典的图论问题,Dijkstra...
这个是数据结构的最短迷宫求解路径,通过广义搜索求解.
### 关于AOE网中关键路径求解算法的研究 #### 摘要 本文主要讨论了AOE网中关键路径的求解问题及其相关的几种算法。AOE网(Activity On Edge Network)是一种特殊的有向无环图,用来表示工程项目中的活动与依赖关系...
在Matlab中求解最短路径,设置5个城市,求解城市之间的最短路径。
利用深度优先算法求解网络中两点之间的所有路径数目
传统AoE算法求解关键路径的C++代码实现
VC游戏编写中的求解最短路径算法源码,本示例是自动寻径演示,篮点是起点,红点是终点,按确定键开始。源码爱好者注:编译后运行的时候请把EXE文件从Debug目录中拷贝到项目根目录中,若不然会出错。 编著、程序...
在本案例中,我们关注的是如何利用分支限界法求解单源最短路径问题。单源最短路径问题是从一个指定的起点到图中所有其他顶点的最短路径问题,这个问题在图论和计算机科学中有广泛的应用,例如网络路由优化、物流配送...
总的来说,这个C++迷宫求解项目通过栈和八方向查找策略,实现了从用户输入或文件读取的迷宫中寻找最简路径的功能。它涉及到了数据结构、算法、文件操作和用户交互等多个方面,是学习C++编程和算法设计的好例子。通过...
实现最短路径求解问题
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业...基于python的公交换乘系统源码+示例图片(求解最短路径,最少换乘问题).zip
Dijkstra算法通常用于求解单源最短路径问题,但在本问题中可以稍作修改以求解关键路径。具体步骤如下: 1. **初始化:** 为每个节点设置初始最早开始时间为0。 2. **松弛操作:** 从源节点开始,通过不断更新节点的...
在本文中,通过初等数学建立模型,例如可以构建路径OK1J1A和OK2J2A的数学模型,并使用Matlab软件编写程序来求解这两条路径中哪条更短,以及确定最短路径的具体坐标。文章中提及了模型一和方程一,通过这些数学表达式...
关于动态规划最短路径求解的matlab学习例子
在本程序中,栈并未直接用于求解最短路径,而是作为辅助数据结构,例如用于存储回溯路径等。 栈的结构体`SqStack`包括: - `base`:指向栈底的指针。 - `top`:指向栈顶的指针。 - `stacksize`:栈当前的大小。 - ...