上傳圖片服務端
❶ android如何上傳圖片到伺服器
用Apache的base64的jar包。在手機端轉碼成base64格式。然後就是一串String。傳遞到服務端。服務端也用Apache的jar包。進行轉碼。轉成圖片就可以了
❷ uniapp上傳圖片至伺服器,獲得在線圖片鏈接預覽(實戰)
功能需求:
前端選擇本地文件,將選擇好的文件顯示在界面上進行預覽,可同時選擇四張進行預覽。
思路如下:
前端選擇本地的png、jpg、等格式的圖片,將圖片以二進制的形式傳到後端伺服器,後端對二進制圖片進行處理,返回給前端一個伺服器鏈接在線圖片,在瀏覽器就可以打開鏈接訪問的那種。然後前端將這個圖片鏈接渲染在頁面進行預覽。
首先
我們看一下uniapp的官方文檔:
https://uniapp.dcloud.io/api/media/image?id=chooseimage
大概是這樣的
先寫一個模擬的demo
1:首先我是是用了colorUI的框架,在項目裡面引入
在page底下的vue文件引入
這樣一來,就不需要寫什麼樣式了,直接使用寫好的就行了。
效果是這樣的
每次選完圖片之後顯示在頁面上,我這里設置了最多可以選擇四張,圖片鏈接使用了臨時的blob,接下來就要使用後端小夥伴給的介面,將自己本地的二進制文件傳給他了。
在 chooseImage 選擇好圖片之後,寫一個成功的回調函數,在回到函數裡面添加一個圖片上傳的方法uploadFile,在方法裡面添加url,等參數。
若是請求成功
則返回一個圖片鏈接
添加介面之後 的,demo如下:
❸ android中如何上傳圖片到ftp伺服器
在安卓環境下可以使用,在java環境下也可以使用,已經在Java環境下實現了功能,然後移植到了安卓手機上,其它都是一樣的。
[java] view plain
package com.photo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class FileTool {
/**
* Description: 向FTP伺服器上傳文件
*
* @param url
* FTP伺服器hostname
* @param port
* FTP伺服器埠
* @param username
* FTP登錄賬號
* @param password
* FTP登錄密碼
* @param path
* FTP伺服器保存目錄,是linux下的目錄形式,如/photo/
* @param filename
* 上傳到FTP伺服器上的文件名,是自己定義的名字,
* @param input
* 輸入流
* @return 成功返回true,否則返回false
*/
public static boolean uploadFile(String url, int port, String username,
String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);// 連接FTP伺服器
// 如果採用默認埠,可以使用ftp.connect(url)的方式直接連接FTP伺服器
ftp.login(username, password);//登錄
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
// 測試
public static void main(String[] args) {
FileInputStream in = null ;
File dir = new File("G://pathnew");
File files[] = dir.listFiles();
if(dir.isDirectory()) {
for(int i=0;i<files.length;i++) {
try {
in = new FileInputStream(files[i]);
boolean flag = uploadFile("17.8.119.77", 21, "android", "android",
"/photo/", "412424123412341234_20130715120334_" + i + ".jpg", in);
System.out.println(flag);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
}
以上為java代碼,下面是android代碼。
[java] view plain
package com.ftp;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new uploadThread().start();
}
class uploadThread extends Thread {
@Override
public void run() {
FileInputStream in = null ;
File dir = new File("/mnt/sdcard/DCIM/Camera/test/");
File files[] = dir.listFiles();
if(dir.isDirectory()) {
for(int i=0;i<files.length;i++) {
try {
in = new FileInputStream(files[i]);
boolean flag = FileTool.uploadFile("17.8.119.77", 21, "android", "android",
"/", "412424123412341234_20130715120334_" + i + ".jpg", in);
System.out.println(flag);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
}
}
❹ asp.net後台中用什麼方法可以將圖片傳到服務端
要使用file類中的方法,是先要把文件弄到伺服器端,在伺服器商進行文件復制的,現在 你還沒有弄到伺服器端,所以沒有辦法復制。所以得先上傳到伺服器,參考一下:ASP.NET中上傳下載文件
//檢查上傳文件不為空
if(File1.PostedFile!=null)
{
string nam = File1.PostedFile.FileName ;
//取得文件名(抱括路徑)里最後一個"."的索引
int i= nam.LastIndexOf(".");
//取得文件擴展名
string newext =nam.Substring(i);
//這里我自動根據日期和文件大小不同為文件命名,確保文件名不重復
DateTime now = DateTime.Now;
string newname=now.DayOfYear.ToString()+File1.PostedFile.ContentLength.ToString();
//保存文件到你所要的目錄,這里是IIS根目錄下的upload目錄.你能改動.
//注意: 我這里用Server.MapPath()取當前文件的絕對目錄.在asp.net里""必須用""代替
File1.PostedFile.SaveAs(Server.MapPath("upload"+newname+newext));
this.HyperLink1.NavigateUrl ="upload"+newname+newext;
//得到這個文件的相關屬性:文件名,文件類型,文件大小
//fname.Text=File1.PostedFile.FileName;
//fenc.Text=File1.PostedFile.ContentType ;
//fsize.Text=File1.PostedFile.ContentLength.ToString();
}
本文轉自好看奇文網:http://www.hkqw.net/htm/2011224/889.htm
❺ 本地電腦的圖片怎麼上傳到伺服器
如果你是通過後台,打開伺服器,然後把文件拖進去~~~ 如果你是指上傳到網站 網盤等地方。點擊上傳,然後選擇圖片,然後確定。如果沒有上傳這個選項,則上傳不了。
❻ java 中如何向伺服器上傳圖片
我們使用一些已有的組件幫助我們實現這種上傳功能。
常用的上傳組件:
Apache 的 Commons FileUpload
JavaZoom的UploadBean
jspSmartUpload
以下,以FileUpload為例講解
1、在jsp端
<form id="form1" name="form1" method="post" action="servlet/fileServlet" enctype="multipart/form-data">
要注意enctype="multipart/form-data"
然後只需要放置一個file控制項,並執行submit操作即可
<input name="file" type="file" size="20" >
<input type="submit" name="submit" value="提交" >
2、web端
核心代碼如下:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items = upload.parseRequest(request);
Iterator itr = items.iterator();
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if (item.isFormField()) {
System.out.println("表單參數名:" + item.getFieldName() + ",表單參數值:" + item.getString("UTF-8"));
} else {
if (item.getName() != null && !item.getName().equals("")) {
System.out.println("上傳文件的大小:" + item.getSize());
System.out.println("上傳文件的類型:" + item.getContentType());
System.out.println("上傳文件的名稱:" + item.getName());
File tempFile = new File(item.getName());
File file = new File(sc.getRealPath("/") + savePath, tempFile.getName());
item.write(file);
request.setAttribute("upload.message", "上傳文件成功!");
}else{
request.setAttribute("upload.message", "沒有選擇上傳文件!");
}
}
}
}catch(FileUploadException e){
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("upload.message", "上傳文件失敗!");
}
request.getRequestDispatcher("/uploadResult.jsp").forward(request, response);
}