當前位置:首頁 » 編程語言 » java發送圖片

java發送圖片

發布時間: 2022-12-24 14:49:49

A. 在java中發送圖片的代碼是什麼

發送圖片的代碼實際上就是把圖片路徑存儲資料庫中,然後你發哪個圖片,點一下,就把路徑值取出來!

B. java如何傳輸動態圖片(GIF圖片)

實現思路:無論是何種類型,都是轉換為流的形式進行的文件傳輸和存儲。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定義一個流
try {
String file = "D:/test/test.GIF";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
pw = new OutputStreamWriter(new FileOutputStream(「D:/New.GIF」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.GIF」實例
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
pw.write(str);//將要寫入文件的內容,可以多次write
};
bre.close();
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。

C. java怎樣編寫發送圖片的程序

首先,我們創建一個新的web工程,在工程的WebRoot目錄下新建一個upload文件夾,這樣當我們將該工程部署到伺服器上時,伺服器便也生成個upload文件夾,用來存放上傳的資源。

然後,在WebRoot目錄下新建一個jsp文件,主要實現的作用就是選擇上傳的文件,提交至servlet來進行處理

詳細代碼如下:一個form將文件信息通過post方式傳送到指定的servlet

<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head>
<base<%=basePath%>">
<title>MyJSP'upload.jsp'startingpage</title><metahttp-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0">
<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"><!--
<linkrel="stylesheet"type="text/css">-->
</head>
<body>
<formaction="/upload/UpLoad"method="post"enctype="multipart/form-data">
請選擇上傳的圖片或文件:<inputtype="file"name="fileName"/><inputtype="submit"value="上傳"/>
</form>
</body>
</html>

可以看到,我們將數據提交到工程下的upload/UpLoad。 之後,我們就來編寫這個servlet——UpLoad.java

packageload;importjava.io.File;
importjava.io.IOException;importjava.io.PrintWriter;importjava.util.List;
importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importmons.fileupload.FileItem;
importmons.fileupload.FileUploadException;importmons.fileupload.disk.DiskFileItemFactory;importmons.fileupload.servlet.ServletFileUpload;{@SuppressWarnings("unchecked")@Override
protectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
//為解析類提供配置信息
DiskFileItemFactoryfactory=newDiskFileItemFactory();
//創建解析類的實例
ServletFileUploadsfu=newServletFileUpload(factory);
//開始解析
sfu.setFileSizeMax(1024*400);
//每個表單域中數據會封裝到一個對應的FileItem對象上try{
List<FileItem>items=sfu.parseRequest(req);
//區分表單域
for(inti=0;i<items.size();i++){FileItemitem=items.get(i);
varcpro_psid="u2572954";varcpro_pswidth=966;varcpro_psheight=120;
//isFormField為true,表示這不是文件上傳表單域if(!item.isFormField()){
ServletContextsctx=getServletContext();
//獲得存放文件的物理路徑
//upload下的某個文件夾得到當前在線的用戶找到對應的文件夾
Stringpath=sctx.getRealPath("/upload");System.out.println(path);
//獲得文件名
StringfileName=item.getName();System.out.println(fileName);
//該方法在某些平台(操作系統),會返迴路徑+文件名
fileName=fileName.substring(fileName.lastIndexOf("/")+1);Filefile=newFile(path+"\"+fileName);if(!file.exists()){item.write(file);
//將上傳圖片的名字記錄到資料庫中
resp.sendRedirect("/upload/l");}}}
}catch(Exceptione){e.printStackTrace();}
}
}

因為已對 代碼做了詳細的注釋,所以相信大家也能基本上傳的這個過程。要注意的一點是解析實例空間大小的設置。我們希望上傳的文件不會是無限大,因此,設置

.setFileSizeMax(1024*400);

D. 在java聊天程序中如何發送圖片

我這里只介紹如何發送
File file=new File(path);//這里的path是你要發送的圖片的路徑
int b = (int) file.length();//獲得圖片大小
byte[] bt=new byte[b];//初始化一個圖片大小的byte數組
RandomAccessFile raf = new RandomAccessFile(path", "r");//初始化一個讀圖片的流。path剛上面介紹了
raf.read(bt);//將圖片讀入byte數組。當然你可以將圖片的後綴及其名字也寫如byte數組中,這將是你以後便於操作
raf.close();

假如你現在獲得了這樣一個byte數組,那麼發送表情就是發送這里的byte數組,相信socket的發送流你會吧,不會了可以問我!
當然發送了你就得接收,很簡單你就是將byte數組接收過來,然後如果你將後綴及其名字寫入了byte就先將他們讀出來,然後剩下的就是圖片的內容,你用同樣的流寫入某個地方就行了,
RandomAccessFile raf1 = new RandomAccessFile(path1, "rw");//這里的path1是我打算寫到的地方,
raf1.write(bt1);//將接收到的bt1即接收到的byte數組寫入指定的地方,當然你要是顯示在那個聊天窗口,得實現窗口顯示圖片的內容即可
raf1.close();

E. java怎麼把圖片和文字分開發送到後端

java如何把圖片和文字從前端傳圖片到後端
1.在 eclipse中創建一個web工
程項目。然後在lib文件夾中
添加文件上傳需要用到的組合中。
2. FileUploadServlet.java的內
容顯示出來。
3.編輯好
FileUploadServlet java文件後
在web.xm文件中配置映射。

F. java怎麼把圖片和文字分開發送到後端

java把圖片和文字分開發送到後端方法:
1、在eclipse中創建一個web工程項目,在lib文件夾中添加文件上傳需要用到的組件common-io和uploadfile。
2、編輯好FileUploadServlet,java文件後,在web.xml文件中配置映射路徑。
3、點擊瀏覽,選擇要上傳的圖片。選擇後會顯示圖片所在的路徑。點擊提交。

G. java如何實現客戶端向伺服器端傳送一個圖片的代碼,詳細一點,最好能有注釋,新手求解

public class SocketTest extends Thread {
private Socket so;
private DataInputStream in;

public static void main(String[] args) {
SocketTest app = new SocketTest();

app.startup();
}

public void startup() {
try {
// 創建服務端socket對象並指定監聽埠
ServerSocket ss = new ServerSocket(9999);

System.out.println("listening...");

// 等待客戶端連接
so = ss.accept();

System.out.println("connected");

// 開始讀取數據
start();
} catch (Exception e) {
e.printStackTrace();
}
}

public void run() {
try {
// 創建socket輸入流
in = new DataInputStream(so.getInputStream());

while (true) {
try {
// 定義接收緩沖區(64位元組)
byte[] buf = new byte[64];

// 將數據讀到接收緩沖區中,並返回實際讀到的數據長度
int len = in.read(buf, 0, 64);

// 長度為-1說明到達輸入流末尾,socket已關閉
if (len < 1) {
System.out.println("closed");

break;
}

System.out.println("(" + len + ")");
} catch (Exception e) {
// 讀數據異常
e.printStackTrace();
}
}
} catch (Exception e) {
// 監聽異常
e.printStackTrace();
}
}
}

H. java怎麼生成帶用戶微信頭像的圖片,並把這張圖片發送給用戶。

1、下載生成二維碼所需要的jar包qrcode.jar;2、直接上生成二維碼的java代碼 //需要導入的包import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import javax.imageio.ImageIO;import com.swetake.util.Qrcode; /** * 生成二維碼(QRCode)圖片 * @param content 二維碼圖片的內容 * @param imgPath 生成二維碼圖片完整的路徑 * @param ccbpath 二維碼圖片中間的logo路徑 */ public static int createQRCode(String content, String imgPath,String ccbPath) { try { Qrcode qrcodeHandler = new Qrcode(); qrcodeHandler.setQrcodeErrorCorrect('M'); qrcodeHandler.setQrcodeEncodeMode('B'); qrcodeHandler.setQrcodeVersion(7); // System.out.println(content); byte[] contentBytes = content.getBytes("gb2312"); //構造一個BufferedImage對象 設置寬、高 BufferedImage bufImg = new BufferedImage(140, 140, BufferedImage.TYPE_INT_RGB); Graphics2D gs = bufImg.createGraphics(); gs.setBackground(Color.WHITE); gs.clearRect(0, 0, 140, 140); // 設定圖像顏色 > BLACK gs.setColor(Color.BLACK); // 設置偏移量 不設置可能導致解析出錯 int pixoff = 2; // 輸出內容 > 二維碼 if (contentBytes.length > 0 && contentBytes.length < 120) { boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes); for (int i = 0; i < codeOut.length; i++) { for (int j = 0; j < codeOut.length; j++) { if (codeOut[j][i]) { gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3); } } } } else { System.err.println("QRCode content bytes length = " + contentBytes.length + " not in [ 0,120 ]. "); return -1; } Image img = ImageIO.read(new File(ccbPath));//實例化一個Image對象。 gs.drawImage(img, 55, 55, 30, 30, null); gs.dispose(); bufImg.flush(); // 生成二維碼QRCode圖片 File imgFile = new File(imgPath); ImageIO.write(bufImg, "png", imgFile); }catch (Exception e){ e.printStackTrace(); return -100; } return 0; }

來自網友 孤獨青鳥的博客

I. java網路發送圖片

和發送普通的文件沒什麼區別 只是取過來 顯示的問題

熱點內容
網站源碼查殺 發布:2024-05-16 16:02:53 瀏覽:834
伺服器不用導軌怎麼辦 發布:2024-05-16 15:49:09 瀏覽:180
如何查看pppoe密碼 發布:2024-05-16 15:38:02 瀏覽:172
雲伺服器成本價大概多少 發布:2024-05-16 15:33:42 瀏覽:446
正式服海島冰茶怎麼配置 發布:2024-05-16 15:25:39 瀏覽:290
安卓怎麼注銷探探 發布:2024-05-16 15:24:38 瀏覽:959
ata72x是多大的壓縮機 發布:2024-05-16 15:07:59 瀏覽:94
安卓如何實現carplay的功能 發布:2024-05-16 15:02:54 瀏覽:713
網路如何接通外國游戲伺服器 發布:2024-05-16 14:53:34 瀏覽:628
下載不是緩存 發布:2024-05-16 14:37:06 瀏覽:504