導航:首頁 > 配伺服器 > 圖片上傳到伺服器並且返回訪問地址

圖片上傳到伺服器並且返回訪問地址

發布時間:2023-02-01 05:10:18

❶ 求把一張圖片放到伺服器上,能夠通過互聯網訪問,有伺服器的老兄可以幫幫忙的感激不盡

圖片上傳之後,都有自己的地址信息,就像「xiaoshi657」發的兩張圖片,你右擊圖片,選擇屬性,地址就是「



」,這個地址就是圖片在互聯網上的地址,通過瀏覽器訪問這個地址,就可以單獨打開圖片,上傳到qq空間、個人博客等頁面上都可以的。你試試就知道了

❷ vue + elementui upload上傳圖片到伺服器以及保存後回顯問題

前言:
關於vue和elementui安裝導入使用不做介紹

1.template中首先展示upload多張圖片上傳

2.當upload組件發生改變時處罰addFile

3.圖片提交到伺服器,拿到伺服器的數據地址

3.顯示圖片 將拿到的數據放進一個數組中顯示到file-list中去就好了

至此,完結。
有不對的地方歡迎指導哦。

php表單上傳圖片到七牛雲存儲並返回地址……求具體流程~有代碼更好

有的,我最近研究了一下,寫了一篇記錄,如下

原文地址:http://cuiqingcai.com/?p=157

網上關於七牛雲存儲的教程除了官網上的API文檔,其他的資料太少了。研究了下API之後,現在已經能實現圖片的上傳和下載及上傳之後的重定向。

首先本篇文章實現的功能如下:

1.利用表單上傳功能,用戶可以點擊選擇文件按鈕,選擇本地的一個文件,同時設定上傳的圖片的名稱,點擊上傳按鈕可以上傳並存儲到七牛雲存儲。

2.在點擊上傳時會檢測文件的後綴名,限制為jpg和png格式存儲。

3.上傳成功後跳轉到自己設定的一個URL,並傳迴文件信息,如文件名。而不是顯示七牛白花花的json顯示頁面。

好啦,那我們開始吧,首先我們要有一個七牛雲存儲賬號,如果沒有的就自己去申請吧。

七牛雲存儲傳送門:http://www.qiniu.com/

一.SDK下載

https://github.com/qiniu/php-sdk/tags

戳這個網址下載一下SDK吧,裡面封裝了文件上傳下載等等的方法,我們引入之後可以直接調用。

SDK之中有一個qiniu的文件夾,這是所有的SDK實貨,這個是最重要的。我們首先要把這個文件夾及裡面的文件放到項目文件夾中,比如我放到這里。

大家可以看到有一個qiniu文件夾。好啦,資源支持就是這樣。接下來我們要實現代碼咯。

二.文件的上傳。

1.首先把你七牛雲存儲的密鑰照出來,點擊賬號設置可以看到有一個AccessKey和SecretKey,留著備用。

2.上傳憑證生成。

在這里我們首先要引入rs.php文件,自己找一對應路徑,代碼如下:

require_once(dirname(__FILE__)."/../../qiniu/rs.php");

dirname()是指的絕對路徑,有時相對路徑會出現問題,建議在前面加上dirname方法獲取絕對路徑。

require_once是引入文件,表示該文件只引入一次。

然後,傳入你的AccessKey和SecretKey

代碼如下:

$accessKey='';//換成你自己的密鑰
$secretKey='';//換成你自己的密鑰


Qiniu_SetKeys($accessKey, $secretKey);

然後建一個上傳策略對象,將你的bucket傳入,bucket 就是你的空間名。

$bucket = 'designpartners';
$putPolicy = new Qiniu_RS_PutPolicy($bucket);

然後調用此方法來生成上傳憑證。

$upToken = $putPolicy->Token(null);

接下來就寫一個html表單

<formmethod="post"action="http://up.qiniu.com"name="form"enctype="multipart/form-data">
<ul>
<inputtype="hidden"id="token"name="token"value=<?phpecho$upToken?>>
<li>
<labelfor="key">key:</label>
<inputname="key"value="">
</li>
<li>
<labelfor="bucket">照片:</label>
<inputname="file"type="file"/>
</li>
<li>
<inputtype="submit"value="提交">
</li>
</ul>
</form>

action就填寫up.qiniu.com,表單提供了一個輸入框key,用來輸入你想保存的圖片名稱,上傳到七牛之後就是這個名字。

然後一個文件選擇,一個提交按鈕。運行結果如下:

輸入key值和選擇照片即可實現照片的上傳。哈哈哈有沒有很簡單。

三、文件下載

原理和文件上傳功能相仿。

引入文件

require_once(dirname(__FILE__)."/../../qiniu/rs.php");

聲明你的七牛雲存儲域名和兩個密鑰以及向下載的文件名稱

$key='00000';
$domain='designpartners.qiniudn.com';
$accessKey='';
$secretKey='';

注意:1.key值即為文件名,不要加後綴

2.domain即為bucket加上qiniudn.com,例子中的designpartners就是我在上傳圖片時用的bucket名。

3.accessKey和secretKey換成你自己的,直接用我的不行的..因為我修改了.

Qiniu_SetKeys($accessKey,$secretKey);
$baseUrl=Qiniu_RS_MakeBaseUrl($domain,$key);
$getPolicy=newQiniu_RS_GetPolicy();
$privateUrl=$getPolicy->MakeRequest($baseUrl,null);
echo$privateUrl." ";

傳入這四個值即可生成一樣url,直接訪問url即可實現圖片的下載。

在引入圖片時直接

<img src = "<?php echo $privateUrl; ?>"/>

即可引入圖片咯,很簡單的吧。

四、303重定向

在上面的方法中,我們上傳圖片成功後跳轉到up.qiniu.com下,會顯示白白的網頁,顯示一個json字元串,但是在實際網站開發中我們肯定 不能讓用戶看到這種網頁,所以我們用到了303跳轉。SDK中也為我們封裝了這個方法。使用其實非常簡單。在上傳文件的代碼中添加兩行代碼即可

$putPolicy=newQiniu_RS_PutPolicy($bucket);
$putPolicy->ReturnUrl=site_url()."/upload/receiveInfo";
$putPolicy->ReturnBody='{"key":$(key)}';

注意:1.ReturnUrl和ReturnBody必須指定,並且首字母要大寫,很多人都小寫開頭,這樣會跳轉不成功。

2.ReturnUrl必須是一個公網可以訪問的網址,在本地測試是不可能通過的。比如你寫成localhost,七牛伺服器是定位不到的。
3.這個ReturnUrl的鏈接後會跟著一個?upload_ret=XXX,可以用get方法獲取這個upload_ret。upload_ret的內容是base64安全編碼的json形式的key值。

值的解析:比如我上傳的文件名是555

upload/receiveInfo?upload_ret=eyJrZXkiOiAiNTU1In0=

網址後綴如上所示,把那個upload_ret復制下來,用base64解碼可以出現如下結果:

{"key": "555"}

所以,我們要獲取555這個值的代碼如下,即解析代碼如下:

$upload_ret=$_GET['upload_ret'];
$json_ret=base64_decode($upload_ret);
$result=json_decode($json_ret);
echo"key".$result->key;

好啦,獲取到這個key值之後,你可以選擇存到資料庫或者進行其他的操作咯。

五、上傳前文件類型的驗證

我們可以用js來驗證文件的後綴名,

在form的屬性里加上

onsubmit="return isValidateFile('file');"

加上一個js方法

<script>
functionisValidateFile(obj){
varextend=document.form.file.value.substring(document.form.file.value.lastIndexOf(".")+1);
if(extend==""){
alert("請選擇頭像");
returnfalse;
}
else{
if(!(extend=="jpg"||extend=="png")){
alert("請上傳後綴名為jpg或png的文件!");
returnfalse;
}
}
returntrue;
}
</script>

即可驗證它的類型是否合法。

附:CI代碼實現:

獲取Uptoken:

functiongetUptoken(){
require_once(dirname(__FILE__)."/../../qiniu/rs.php");
//遠程存儲空間名稱
$bucket='designpartners';
$accessKey='';
$secretKey='';
Qiniu_SetKeys($accessKey,$secretKey);
$putPolicy=newQiniu_RS_PutPolicy($bucket);
echosite_url();
$putPolicy->ReturnUrl=site_url()."/upload/receiveInfo";
$putPolicy->ReturnBody='{"key":$(key)}';
$upToken=$putPolicy->Token(null);
return$upToken;
}

文件上傳:

publicfunctionuploadPic(){
$upToken=$this->getUptoken();
$data['upToken']=$upToken;
$this->load->view('upload',$data);
}

303重定向解析:

publicfunctionreceiveInfo(){
$upload_ret=$_GET['upload_ret'];
$json_ret=base64_decode($upload_ret);
$result=json_decode($json_ret);
echo"key".$result->key;
}

文件下載:

publicfunctiondownloadPic(){
require_once(dirname(__FILE__)."/../../qiniu/rs.php");
$key='00000';
$domain='designpartners.qiniudn.com';
$accessKey='';
$secretKey='';
Qiniu_SetKeys($accessKey,$secretKey);
$baseUrl=Qiniu_RS_MakeBaseUrl($domain,$key);
$getPolicy=newQiniu_RS_GetPolicy();
$privateUrl=$getPolicy->MakeRequest($baseUrl,null);
echo"====>getPolicyresult: ";
echo$privateUrl." ";
}

表單:

<script>
functionisValidateFile(obj){
varextend=document.form.file.value.substring(document.form.file.value.lastIndexOf(".")+1);
if(extend==""){
alert("請選擇頭像");
returnfalse;
}
else{
if(!(extend=="jpg"||extend=="png")){
alert("請上傳後綴名為jpg或png的文件!");
returnfalse;
}
}
returntrue;
}
</script>
<formmethod="post"action="http://up.qiniu.com"name="form"enctype="multipart/form-data"onsubmit="returnisValidateFile('file');">
<ul>
<inputtype="hidden"id="token"name="token"value=<?phpecho$upToken?>>
<li>
<labelfor="key">key:</label>
<inputname="key"value="">
</li>
<li>
<labelfor="bucket">照片:</label>
<inputname="file"type="file"/>
</li>
<li>
<inputtype="submit"value="提交">
</li>
</ul>
</form>

❹ 求助:使用JSP上傳圖片到伺服器,然後返回客戶端顯示的問題

你用struts2,,在頁面放個file控制項,表單為post提交方式,並設置表單的MIME編碼,enctype="multipart/form-data",在action裡面聲明一個File類型的變數來接受圖片,記住變數名要跟頁面上file控制項的名一樣

❺ 用ASP.NET 寫一個方法,在網站後台傳入圖片,要把圖片存在網站伺服器。同時把圖片的地址返回,

你肯定先分配路徑,然後才肯能上傳保存圖片。

❻ 從android手機上傳到伺服器的圖片如何立即返回在手機控制項上顯示

你需要寫一個方法,讀取網路圖片,在上傳操作完成後,調用這個方法,
這個是我經常用的讀取網路圖片的方法,你參考一下:
//url為圖片的網路地址,
public static Bitmap getImg(String url)
{
URL imgurl = null;
Bitmap bitmap = null;
try
{
imgurl = new URL(url);

}
catch(MalformedURLException e)
{
e.printStackTrace();
}
try
{
HttpURLConnection conn = (HttpURLConnection)imgurl.openConnection();
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
conn.disconnect();
}catch(IOException e)
{
e.printStackTrace();
}
return bitmap;

}

然後在要顯示的的activity里,將這個方法傳給imageview就可以了
imageview.setImageBitmap(MainActivity.getImg(url));

java實現圖片上傳至伺服器並顯示,如何做

給你段代碼,是用來在ie上顯示圖片的(servlet):

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("id");
File file = new File(getServletContext().getRealPath("/")+"out"+"/"+id+".gif");
response.setCharacterEncoding("gb2312");
response.setContentType("doc");
response.setHeader("Content-Disposition", "attachment; filename=" + new String(file.getName().getBytes("gb2312"),"iso8859-1"));

System.out.println(new String(file.getName().getBytes("gb2312"),"gb2312"));

OutputStream output = null;
FileInputStream fis = null;
try
{
output = response.getOutputStream();
fis = new FileInputStream(file);

byte[] b = new byte[1024];
int i = 0;

while((i = fis.read(b))!=-1)
{

output.write(b, 0, i);
}
output.write(b, 0, b.length);

output.flush();
response.flushBuffer();
}
catch(Exception e)
{
System.out.println("Error!");
e.printStackTrace();
}
finally
{
if(fis != null)
{
fis.close();
fis = null;
}
if(output != null)
{
output.close();
output = null;
}
}

}

這個程序的功能是根據傳入的文件名(id),來為瀏覽器返回圖片流,顯示在<img>標簽里
標簽的格式寫成如下:
<img src="http://localhost:8080/app/preview?id=111 "/><br/>
顯示的是111.gif這個圖片

你上面的問題:
1.我覺得你的第二個辦法是對的,我們也是這樣做的,需要的是把資料庫的記錄id號傳進servlet,然後讀取這條記錄中的路徑信息,生成流以後返回就是了

關於上傳文件的問題,我記得java中應該專門有個負責文件上傳的類,你調用就行了,上傳後存儲在指定的目錄里,以實體文件的形式存放
你可以參考這個:
http://blog.csdn.net/arielxp/archive/2004/09/28/119592.aspx

回復:
1.是的,在response中寫入流就行了
2.是發到servlet中的,我們一般都是寫成servlet,短小精悍,使用起來方便,struts應該也可以,只是我沒有試過,恩,你理解的很對

❽ Oracle資料庫存儲某張圖片的相對路徑,在服務端這邊怎麼引用,並返回給客戶端。

直接返回前端頁面一個url路徑,你服務端所要做的工作就是獲得圖片伺服器的IP地址以及資料庫中存的相對路徑,拼接好返回給前端頁面。拼接前面的地址就是你圖片伺服器的IP地址啊,你的圖片存在哪個伺服器就寫哪個地址,如果是直接存在應用伺服器上的,那就是應用伺服器的ip,這種伺服器地址應該是配置好的,或許是配置文件、或許是配置表。 這個是你應該提前知道的,直接就拿過來用的。
至於你最後說的把圖片直接存在資料庫,建議你不要試。每個IT人員都在剛開始的時候被深深的教育過,不要這樣做,資料庫會爆炸,當然我也沒這么做過,所以後果也只是聽人說。
返回給用戶一個http://xxx/xxx.jpg的url,瀏覽器可以打開。用戶可以用瀏覽器打開,或嵌入你的頁面返回給客戶.
樓上的,樓主要的不是JSP的,他的服務端也是JAVA的程序,都是純JAVA的,是沒有H5語言的。

❾ android里的圖片怎樣上傳到伺服器並返回顯示在手機上求具體的代碼急用!!!

這個圖片存放的位置是根據你的圖片來源而定的。一般是放在sdcard下的某個目錄下的,我基本看明白你寫的需求。我來給你說下思路:服務端(android手機)這邊需要寫個工具類,來遍歷SD卡下的文件,只顯示jpg和png的圖片。主類中有個按鈕來添加圖片,還有一個按鈕是用來上傳圖片,然後寫個監聽,用來接收服務端發回的消息。文件的傳輸就不用我細說了吧...服務端這邊寫個監聽來接收客戶端發來的消息,保存發過來的數據流。至於手機上能顯示這張圖片,只要在寫個imageview,把圖片資源載入上就ok啦,你可以去網上搜索一下「sd上的文件上傳」,有很多類似的文章和代碼,可供學習的,有什麼不懂的再問吧^_^

閱讀全文

與圖片上傳到伺服器並且返回訪問地址相關的資料

熱點內容
主角叫楚風重生都市的小說 瀏覽:212
單片機jnb指令 瀏覽:1002
可以觀看vip電視劇的網站 瀏覽:244
如何編譯pfx文件 瀏覽:139
兩個女的吃大便 瀏覽:596
枚舉調用java 瀏覽:410
閃閃發光大團結下載 瀏覽:255
主角叫葉天免費閱讀 瀏覽:908
譚干聰演的全部電影 瀏覽:370
台灣電影她有很強的佔有欲 瀏覽:836
app地推公司怎麼運營 瀏覽:102
做不好程序員改啥工作比較好 瀏覽:199
何家駒電影全集大全 瀏覽:954
床戲最刺激的電影有哪些 瀏覽:817
主角在現代買軍火抗戰 瀏覽:780
linux配置域名的解析 瀏覽:441
周星馳免費國語完整版 瀏覽:554
anatomypdf 瀏覽:707
蘋果app刪除了怎麼還有 瀏覽:634
四大天王小孩兒的電影 瀏覽:346