前台js 后台java 怎么上传文件
前台部分代码:
<form name="buildform" id="buildform" action=" " enctype="multipart/form-data" method="post">
<table>
<tr>
<td colspan="" class="label">文件上传:</td>
<td class="label" align="left">
<div id="d">
<input type="file" name="fileurl" value="" />
</div>
</td>
</tr>
</table>
后台部分代码java:
// 创建一个文件上传的工厂实例
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置文件缓存地址和缓存大小
factorysetRepository(new File(requestgetRealPath("/")));
factorysetSizeThreshold(1024 1024 20);
// 用上工厂实例创建一个上传文件对象
ServletFileUpload upload = new ServletFileUpload(factory);
uploadsetHeaderEncoding("gbk");
String name = "";
String code = "";
String sredate = "";
String ssetdate = "";
String setworker = "";
String reworker = "";
String memo = "";
String contents = "";
Long redptid = null;
Long setdptid = null;
String fileurl = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date setdate = null;
Date revisedate = null;
// 处理页面传过来的表单项
int k = 0;
List items = null;
try {
items = uploadparseRequest(request);
} catch (FileUploadException e) {
eprintStackTrace();
}
// 遍历所有的表单项
for (int i = 0; i < itemssize(); i++) {
FileItem item = (FileItem) itemsget(i);
// 如果这个表单是普通表单域
if (itemisFormField()) {
// 取得表单名
String formname = itemgetFieldName();
if(formnameequals("name")){
name = itemgetString("gbk");
}else
if(formnameequals("code")){
code = itemgetString("gbk");
}else
if(formnameequals("revisedate")){
sredate = itemgetString("gbk");
if(!sredateequals("")){
revisedate = sdfparse(sredate);
}
}else
if(formnameequals("setdate")){
ssetdate = itemgetString("gbk");
if(!ssetdateequals(""))
setdate = sdfparse(ssetdate);
}else
if(formnameequals("redptid")){
String s_redptid = itemgetString("gbk");
if(!s_redptidequals("x"))
redptid = LongparseLong(s_redptid);
}else
if(formnameequals("setdptid")){
String s_setdptid = itemgetString("gbk");
if(!s_setdptidequals("x"))
setdptid = LongparseLong(s_setdptid);
}else
if(formnameequals("setworker")){
setworker = itemgetString("gbk");
}
/// 取得表单的value值
String formvalue = itemgetString("gbk");/
}
// 如果是文件域
else {
k++;
// 取得文件域的表单域名
String fieldName = itemgetFieldName();
// 取得文件名
String fileName = itemgetName();
// 取得文件类型
String contentType = itemgetContentType();
// 对于上传文件的存放地址来建立一个输出流
FileOutputStream fos = new FileOutputStream(request
getRealPath("/")+"uploadimg/" + imgName);
// 判断上传文件是否在缓存中
if (itemisInMemory()) {
// 得到上传文件输入流
InputStream is = itemgetInputStream();
byte[] buffer = new byte[1024];
int len;
// 将上传文件写入服务器文件中
while ((len = isread(buffer)) > 0) {
foswrite(buffer, 0, len);
}
isclose();
fosclose();
}
}
}
}
既然是布署,哪默认就应该是生产环境下的布署,vue开发的应用本质上就是静态文件,无论你用何种web服务器,放上去就应该能通过http访问
接下来我来帮大家来捋一捋
首先VUE 是一个javascript的前端框架,注定了它是运行在浏览器里的,对服务器本地没有任何要求,只要一个静态文件服务器能通过http访问到其资源文件就足矣!无论你是用apache ,ngnix 就算你要用node 自己实现一个静态文件服务器,也用不了多少行代码。
npm run dev 是用来在本地开发的时候做调试用的,vue开发的是前端的东西,不是nodejs 服务端程序,按道理讲,生产环境里就不该存在npm,甚至nodejs也不需要(用nodejs来做web静态服务的除外),楼主通过ssh进入到服务器里,再运行npm run dev 来启动哪是开发机上做的事情。正确的做法很简单,通过npm run build 把生成的dist文件夹(不要上传文件夹)里的内容上传到http服务器上就可以通过 http来访问了,开发机上正常,上传以后 程序出现错误不能运行的原因9999%的可能性是你引用资源的路径有问题。
一般如果vue框架的程序上传到网站服务器的根目录下是不 会有问题的,也不存在资源文件引用错误的情况,但如果你不是根目录,就会有问题,通过vue-cli 生成的开发目录,build以后默认引用资源文件的路径是
有更多疑问 ”可以咨询 ”小鸟云,它是的一家服务器厂商,我一直在用他们产品!
第一:测试程序是否跑到这一步:jQuery("slide")("click",function(){ alert("asas"); });因为可能你没导入jqueryjs文件啊,这些
第二:测试它起到效果没有jQuery("slide")slide加一个时间1000ms,
第三:如果有效果。,,那就是后面样式没起到作用了mainCell:"bd ul",autoplay:true
1 要正确的将Web客户端的Excel文件导入到服务器的数据库中,需要将客户端的Excel文件上传到服务器上。可以使用FileUpload控件完成。
2 Excel文件上传到服务器指定的目录中,这里假设是该站点的upfiles目录中。
3 使用SQL语句从upfiles目录中的上传Excel文件中读取数据显示或写入数据库。
相关代码如下:
1 前台文件:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="StudentInforInportaspxcs" Inherits="StudentInforInport" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "http://wwww3org/TR/xhtml1/DTD/xhtml1-transitionaldtd">
<html xmlns="http://wwww3org/1999/xhtml" >
<head runat="server">
<link rel="stylesheet" type="text/css" href="css/stylecss"/>
<title>从Excel表中导入学生数据</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width: 96%; border-collapse: separate; text-align: center">
<tr>
<td colspan="3">
从Excel中导入</td>
</tr>
<tr>
<td colspan="3" style="text-align: left; height: 9px;">
</td>
</tr>
<tr>
<td align="center" style="width: 20%;">
请选择Excel文件路径</td>
<td align="center" style="width: 483px; height: 18px; text-align: left">
<asp:FileUpload ID="FileUpload1" runat="server" Width="555px" /></td>
<td align="center" style="width: 10%">
<asp:Button ID="Btn_Inport" runat="server" Text="导 入" OnClick="Btn_Inport_Click" /></td>
</tr>
<tr>
<td align="center">
请选择表名</td>
<td align="center" style="width: 483px; height: 18px; text-align: left">
<asp:DropDownList ID="DDList_Sheet" runat="server"></asp:DropDownList></td>
<td align="center">
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GV_Excel" runat="server" Height="133px" Width="100%">
</asp:GridView>
</td>
</tr>
<tr>
<td style="height: 18px">
</td>
<td style="width: 483px; height: 18px;">
</td>
<td style="width: 243px; height: 18px;">
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
2 后台代码:
using System;
using SystemData;
using SystemConfiguration;
using SystemCollections;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemWebUIHtmlControls;
using SystemDataOleDb;
using SystemDataSqlClient;
public partial class StudentInforInport : SystemWebUIPage
{
string strConn = SystemConfigurationConfigurationManagerAppSettings["strconn"]ToString()Trim(); //链接SQL数据库
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 查询EXCEL电子表格添加到DATASET
/// </summary>
/// <param name="filenameurl">服务器路径</param>
/// <param name="table">表名</param>
/// <param name="SheetName">Sheet表名</param>
/// <returns>读取的DataSet </returns>
public DataSet ExecleDs(string filenameurl, string table, string SheetName)
{
string strConn = "Provider=MicrosoftJetOleDb40;" + "data source=" + filenameurl + ";Extended Properties='Excel 80'";
OleDbConnection conn = new OleDbConnection(strConn);
connOpen();
DataSet ds = new DataSet();
OleDbDataAdapter odda = new OleDbDataAdapter("select from [" + SheetName + "]", conn);
oddaFill(ds, table);
return ds;
}
protected void Btn_Inport_Click(object sender, EventArgs e)
{
if (FileUpload1HasFile == false) //HasFile用来检查FileUpload是否有指定文件
{
ResponseWrite("<script>alert('请您选择Excel文件')</script> ");
return; //当无文件时,返回
}
string IsXls = SystemIOPathGetExtension(FileUpload1FileName)ToString()ToLower();//SystemIOPathGetExtension获得文件的扩展名
if (IsXls != "xls")
{
ResponseWrite("<script>alert('只可以选择Excel文件')</script>");
return; //当选择的不是Excel文件时,返回
}
string filename = DateTimeNowToString("yyyyMMddHHmmss") + FileUpload1FileName; // 获取Execle文件名 DateTime日期函数
string savePath = ServerMapPath(("~\\upfiles\\") + filename); //ServerMapPath 获得虚拟服务器相对路径
FileUpload1SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
OperExcel Excel = new OperExcel();
ArrayList AL_ExcelSheet = new ArrayList();
AL_ExcelSheet = ExcelExcelSheetName(savePath);
DDList_SheetItemsClear();
for (int i = 0; i < AL_ExcelSheetCount; i++)
{
DDList_SheetItemsAdd( AL_ExcelSheet[i]ToString() );
}
SqlConnection cn = new SqlConnection(strConn);
cnOpen();
DataSet ds = ExecleDs(savePath, filename, DDList_SheetItems[0]ToString()); //调用自定义方法得到数据
DataTable dt = dsTables[0];
if (dtRowsCount == 0)
{
ResponseWrite("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示
}
else
{
// 数据
GV_ExcelDataSource = dt;
GV_ExcelDataBind();
ResponseWrite("<script>alert('Excle表导入成功!');location='defaultaspx'</script>");
}
cnClose();
}
}
注意:当导入的Excel文件中的内容很大时,将发生莫名的错误。因此导入的文件不能太大,一般少于5MB
0条评论