java实现图片上传至服务器并显示,如何做?

java实现图片上传至服务器并显示,如何做?,第1张

给你段代码,是用来在ie上显示的(servlet):
public void doGet(>两次提交只能交给js去做,第二次可以做成自动提交。
其实,如果第一次asp post方式接收,总会生成图路径的,只要记网址绝对路径,在第二张ps里传路径总比再传一次图速度快。

数据包啊包含的内容及结构跟GET方式差不多 只是一个同过网址传送,一个通过数据包 直接传过去了
就像你上QQ一样不同过网址 也是通过数据包传数据 只是QQ的数据复杂得多

一个实例:
首先,在自己台式机和笔记本上都开通了ftp,这个不会的同学可以网上查serv-u,相关教程肯定不少的。
然后在台式机本地做了个测试:
$ftp_server = "1921681100";
$ftp_user_name = "laohu";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = 'testtxt';
$remote_file = '/test/atxt';
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件移动成功\n";
} else {
echo "移动失败\n";
}
ftp_close($conn_id);
运行后:文件移动成功。
要的就是这个效果了,之后用台式机做程序服务器上传附件时全用ftp方法上传至笔记本上,笔记本ip是105,相应代码如下:
if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
$ftp_server = "1921681105";
$ftp_user_name = "lesley";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = $_FILES['uploadfile']['tmp_name'];
$remote_file = '/test/'$_FILES['uploadfile']['name'];
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件:"$_FILES['uploadfile']['name']"上传成功\n";
} else {
echo "上传失败\n";
}
ftp_close($conn_id);
}
对应的前台页面代码:
<form action="uploadfilephp" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="uploadfile" />
<input type="submit" name="submit" value="submit" />
</form>
运行后确实成功。
需要注意:
在用ftp_put方法时,第四个参数传送模式,需要用FTP_BINARY(二进制模式),用FTP_ASCII(文本模式)时,能上传但无法显示,其他文件重命名、中文乱码解决、上传权限控制等,就不在此提及了。

第一步:通过$_FILES获取文件信息。

第二步:指定新文件名称以及路径,并赋值给一个变量。

第三步:通过move_uploaded_file上传文件。

第四步:上传成功后,将数值存入数据库服务器目录即可。

代码如下

1connphp



$host="localhost"; //数据库服务器名称 
$user="root"; //用户名 
$pwd="1721"; //密码 
$conn=mysql_connect($host,$user,$pwd); 
mysql_query("SET 
character_set_connection=gb2312, 
character_set_results=gb2312, 
character_set_client=binary",$conn); 
 
if ($conn==FALSE) 

echo "<center>服务器连接失败!<br>请刷新后重试。</center>"; 
return true; 

$databasename="database";//数据库名称 
 
do 

$con=mysql_select_db($databasename,$conn); 
}while(!$con); 
 
if ($con==FALSE) 

echo "<center>打开数据库失败!<br>请刷新后重试。</center>"; 
return true; 

 
>

2uploadphp


<php 
if ($_GET['action'] == "save"){ 
include_once('connphp'); 
include_once('uploadclassphp'); 
$title=$_POST['title']; 
$pic=$uploadfile; 
if($title == "") 
echo"<Script>windowalert('对不起!你输入的信息不完整!');historyback()</Script>"; 
$sql="insert into upload(title,pic) values('$title','$pic')"; 
$result=mysql_query($sql,$conn); 
//echo"<Script>windowalert('信息添加成功');locationhref='uploadphp'</Script>"; 


<html> 
<head> 
<title>文件上传实例</title> 
</head> 
<body> 
<form method="post" action="action=save" enctype="multipart/form-data"> 
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%"> 
<tr> 
<td width=55 height=20 align="center"> </TD> 
<td height="16"> 
 
<table width="48%" height="93" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td>标题:</td> 
<td><input name="title" type="text" id="title"></td> 
</tr> 
<tr> 
<td>文件: </td> 
<td><label> 
<input name="file" type="file" value="浏览" > 
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
</label></td> 
</tr> 
<tr> 
<td> </td> 
<td><input type="submit" value="上 传" name="upload"></td> 
</tr> 
</table></td> 
</tr> 
</table> 
</form> 
 
</body> 
</html>

3uploadclassphp

<php 
$uploaddir = "upfiles/";//设置文件保存目录 注意包含/ 
$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型 
$patch="/upload/";//程序所在路径 
 
//获取文件后缀名函数 
function fileext($filename) 

return substr(strrchr($filename, ''), 1); 

//生成随机文件名函数 
function random($length) 

$hash = 'CR-'; 
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; 
$max = strlen($chars) - 1; 
mt_srand((double)microtime()  1000000); 
for($i = 0; $i < $length; $i++) 

$hash = $chars[mt_rand(0, $max)]; 

return $hash; 

 
$a=strtolower(fileext($_FILES['file']['name'])); 
//判断文件类型 
if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type)) 

$text=implode(",",$type); 
echo "您只能上传以下类型文件: ",$text,"<br>"; 

//生成目标文件的文件名 
else{ 
$filename=explode("",$_FILES['file']['name']); 
do 

$filename[0]=random(10); //设置随机数长度 
$name=implode("",$filename); 
//$name1=$name"Mcncc"; 
$uploadfile=$uploaddir$name; 

 
while(file_exists($uploadfile)); 
 
if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)) 

if(is_uploaded_file($_FILES['file']['tmp_name'])) 

 
echo "上传失败!"; 

else 
{//输出预览 
echo "<center>您的文件已经上传完毕 上传预览: </center><br><center><img src='$uploadfile'></center>"; 
echo "<br><center><a href='uploadhtm'>继续上传</a></center>"; 


 

>

//本地上传代码Files item = fis as Files;
WebClient wc = new WebClient();
string url = stringFormat("{0}Overwrite=true&Path={1}", "服务器上传地址", itemPath);
 wcUploadFile(url, "POST", itemPath);
 //服务器接收
 string ServerSrc = contextServerMapPath("~/DownLogin/");
        foreach (string filekey in contextRequestFiles)
        {
            >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10288795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存