android上传文件到服务wcf,将MS Word文件从Android上传到.Net WCF?

public void checkinstream(String rid, String filename ) throws IOException

{

URL url=null;

HttpURLConnection conn = null;

DataOutputStream dos = null;

DataInputStream inStream = null;

String existingFileName= null;

existingFileName= "/mnt/sdcard/"+rid+".doc";

int bytesRead, bytesAvailable, bufferSize;

byte[] buffer;

int maxBufferSize = Integer.MAX_VALUE;

String responseFromServer = "";

url = new URL("http://10.66.51.241/mywcf/Service.svc/Service/uploadMyDoc");

try

{

//------------------ CLIENT REQUEST

FileInputStream fileInputStream = new FileInputStream(new File(existingFileName) );

// Open a HTTP connection to the URL

conn = (HttpURLConnection) url.openConnection();

// Allow Inputs

conn.setDoInput(true);

// Allow Outputs

conn.setDoOutput(true);

// Don't use a cached copy.

conn.setUseCaches(false);

// Use a post method.

conn.setRequestMethod("POST");

conn.setRequestProperty("Connection", "Keep-Alive");

conn.setRequestProperty("Content-Type", "application/stream");

dos = new DataOutputStream( conn.getOutputStream() );

// dos.writeBytes(twoHyphens + boundary + lineEnd);

//dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + existingFileName + "\"" + lineEnd);

// dos.writeBytes(lineEnd);

// create a buffer of maximum size

bytesAvailable = fileInputStream.available();

bufferSize = Math.min(bytesAvailable, maxBufferSize);

buffer = new byte[bufferSize];

// read file and write it into form...

bytesRead = fileInputStream.read(buffer, 0, bufferSize);

while (bytesRead > 0)

{

dos.write(buffer, 0, bufferSize);

bytesAvailable = fileInputStream.available();

bufferSize = Math.min(bytesAvailable, maxBufferSize);

bytesRead = fileInputStream.read(buffer, 0, bufferSize);

}

// send multipart form data necesssary after file data...

dos.writeBytes(lineEnd);

// close streams

Log.e("Debug",twoHyphens + boundary + twoHyphens + lineEnd);

fileInputStream.close();

dos.flush();

dos.close();

}

catch (MalformedURLException ex)

{

Log.e("Debug", "error: " + ex.getMessage(), ex);

}

catch (IOException ioe)

{

Log.e("Debug", "error: " + ioe.getMessage(), ioe);

}

//------------------ read the SERVER RESPONSE

try {

inStream = new DataInputStream ( conn.getInputStream() );

String str;

while (( str = inStream.readLine()) != null)

{

Log.e("Debug","Server Response "+str);

statuss.setText(str);

}

inStream.close();

}

catch (IOException ioex){

Log.e("Debug", "error: " + ioex.getMessage(), ioex);

}

}

在.net端创建一个接收流的wcf方法.谢谢.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值