Struts2上传文件失败,这段代码哪里有错?

问题描述

Struts2上传文件失败,这段代码哪里有错?

package com.Music.user;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class uploadmusic extends ActionSupport {
private File upload;
private String uploadContentType;
private String uploadFileName;
private String savePath;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public void setSavePath(String value) {
this.savePath = value;
}
@SuppressWarnings("deprecation")
private String getSavePath() throws Exception {
return ServletActionContext.getServletContext().getRealPath(savePath);
}

public String execute() throws Exception {
    ServletActionContext.getResponse().setCharacterEncoding("GB2312");
    PrintWriter out = ServletActionContext.getResponse().getWriter();
    ServletActionContext.getResponse().setHeader("Pragma", "No-cache");
    ServletActionContext.getResponse().setHeader("Cache-Control",
            "no-cache");
    ServletActionContext.getResponse().setDateHeader("Expires", 0);

    //获取文件后缀
    String fileType = getUploadFileName().substring(getUploadFileName().lastIndexOf("."));
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
    Date dt = new Date();
    Random rd = new Random();
    setUploadFileName(sdf.format(dt) + rd.nextInt(9999) + fileType);

    if ("audio/mpeg".equals(getUploadContentType())) {
        FileOutputStream fos = new FileOutputStream(getSavePath() + ""
                + getUploadFileName());
        FileInputStream fis = new FileInputStream(getUpload());
        byte[] buffer = new byte[10240];
        int len = 0;
        while ((len = fis.read(buffer)) > 0) {
            fos.write(buffer, 0, len);
        }
        String filePath = "upload\" + getUploadFileName();
        out.println(function.PlutoJump("上传成功,请认真填写歌曲内容!", "upload.jsp?path=" + filePath));

    } else {
        out.println(function.PlutoJump("文件类型必须为MP3!", "uploadmusic.jsp"));
    }
    return null;
}

}

解决方案

是不是页面没有添加传输文件的enctype属性

解决方案二:

Struts2上传文件代码

解决方案三:

报错代码呢。。。。。。。。。。。。。。。。。。。。。。。。。

解决方案四:

如果情况是没有报错而是每次都直接跳到input的话,就像楼上说的,你在action那里需要加一个东西。如果保存你就得看报错的位置和类型来解决了。

时间: 2024-12-21 20:08:51

Struts2上传文件失败,这段代码哪里有错?的相关文章

Struts2上传文件的最大Size的设置

    struts2中文件上传的二个限制,一个是struts.multipart.maxSize,如果不设置,struts2 的核心包下的default.properties文件里有默认的大小设置struts.multipart.maxSize=2097152,即2M. 这是struts2文件上传的第一道关.   第二道关是inteceptor中的maximumSize. 当真实的文件大小能通过第一道关时.针对不同的action中配置的inteceptor,maximumSize才能发挥相应的

struts 2-关于Struts2上传文件问题。

问题描述 关于Struts2上传文件问题. <package name="pic" namespace="/admin" extends="struts-default"> <action name="addPicAction" class="com.gz.journal.action.AddPicAction" method="addPic"> <resu

手机端用webim报错,上传文件失败,服务端返回值不正确

问题描述 sendPicture时出现的错误:上传文件失败,服务端返回值值不正确版本是easemob.im.1.0.7手机是android5.1.1谢谢!! 解决方案 贴一下报的是什么错,还有你是什么样的集成方式,如果是混合APP,你传径上传是不行的,webIM只支持表单上传,你可以考虑用rest上传来作为替代方案.解决方案二:错误就是:上传文件失败,服务端返回值值不正确(两个"值")是用的dcloud框架,应该属于混合app?用法上搬的demo代码查看fileobj的url,是blo

请问一个struts2上传文件的问题

问题描述 我写了一个struts2上传文件的例子,出现了一个很奇怪的问题,提交表单以后,页面直接跳转到result="input"的页面,action里面的断点也没有执行,而且浏览器上的url显示的是fileupload.action,页面却已经跳转到了input返回页面:如果file控件里不加文件,就会执行action里面的断点 解决方案 解决方案二:上代码,jsp和Action解决方案三:TSysUpfileAction.javapackagems.platform.system.

网站 php linux-网站后台上传文件失败

问题描述 网站后台上传文件失败 四台服务器做的负载均衡,都是linux系统,在网站后台上传图片 有时会出现上传失败情况,谁知道这种情况是因为什么原因引起的 解决方案 网站后台上传文件被限定格式 解决方案二: 文件格式限制?文件大小限制?分析上传成功与上传失败图片文件的区别?

curl-php cURL 上传文件失败

问题描述 php cURL 上传文件失败 curlPost.php <?php $post = array( 'name' => 'wyjie', 'img' => '@D:/debug.exe' ); //cURL发送post请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://localhost/demo/demo/curl/01.php'); curl_setopt($ch, CURLOPT_RETURNTRANSF

hadoop-hue使用streaming上传文件失败

问题描述 hue使用streaming上传文件失败 使用hue编写hadoop streaming 任务,可是配置了文件路径却没有上传,有人知道是什么原因吗? 这个路径上明明有的: 可是,结果: 解决方案 http://zhidao.baidu.com/link?url=Syiy9IHmxb4jm3rZJ-FIS-7yFEqUqlmi6aq3YrzeRHMEhspYUMxO6p7lLN5EN_YY2mLns4HDGQf5QblmkuFYhauz-Dsw7nlwxBG1lF2bTNq

限制上传文件大小-Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错

问题描述 Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错 1.web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/X

求struts2上传文件代码,最好详细些。新手

问题描述 急,求上传例子,百度那些我都看过,有没有真实的例子. 解决方案 解决方案二: 解决方案三:马上能给你写一个简单的例子,^_^解决方案四:你自己参照着改成s2的吧解决方案五:action://文件上传下载相关属性privateFilefile;privateStringfilename;privateStringfileFileName;privateStringfileContentType;privateStringsavePath;//上传文件publicStringupload(