android - 如何android ksoap2发送文件
问题描述
我正在通过网络服务(ksoap2)发送邮件。我发送邮件但我无法发送文件。我在 excel 文件中的平板电脑无法发送文件 那是代码
public void sendData(String _FromMail , String _FromAciklama , String _To , String _Cc , String _Bcc , String _Konu , String _Icerik , String _EkDosya ) {
soapObject = new SoapObject(NAMESPACE , METHOD_NAME);
soapObject.addProperty("_FromMail" , _FromMail);
soapObject.addProperty("_FromAciklama" , _FromAciklama);
soapObject.addProperty("_To" , _To);
soapObject.addProperty("_Cc" , _Cc);
soapObject.addProperty("_Bcc" , _Bcc);
soapObject.addProperty("_Subject" , _Konu);
soapObject.addProperty("_Body" , _Icerik);
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) , _EkDosya);
DataSource source = new FileDataSource(file);
DataHandler dataHandler = new DataHandler(source);
PropertyInfo pro = new PropertyInfo();
pro.setName("_Attachment");
pro.setValue(_EkDosya);
pro.setType(dataHandler.getClass());
soapObject.addProperty(pro);
soapSerializationEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapSerializationEnvelope.dotNet = true;
soapSerializationEnvelope.setOutputSoapObject(soapObject);
httpTransportSE = new HttpTransportSE(URL);
httpTransportSE.debug = true;
try {
httpTransportSE.call(SOAP_ACTION, soapSerializationEnvelope);
SoapPrimitive soapPrimitive = (SoapPrimitive) soapSerializationEnvelope.getResponse();
Log.e("response", soapPrimitive.toString());
System.out.println(soapPrimitive.toString());
}catch (XmlPullParserException e) {e.printStackTrace();} catch (SoapFault soapFault) {
soapFault.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
解决方案
推荐阅读
- git - 是什么导致 git clone 不引入 master 分支?
- python - 如何优化熊猫数据框的分块?
- flask - 启用 --access-logfile 的 gunicorn 抛出“TypeError:格式需要映射”
- objective-c - 映射边界框 NE 和 SW,得到 NW 和 SE
- java - 更改对象的缓冲图像
- glpk - 从 GLPK 解决方案中获取表会引发错误“断言失败:out != out”
- filter - 卡尔曼滤波器的大残差在线异常值检测
- c# - 为 Task 返回默认值或 null
- reactjs - 在 create-react-app 中调试 es6
- google-cloud-platform - 使用 gsutil 将文件上传到 GCS 时覆盖内容类型