【问题标题】:image upload in Android to .Net webservice在 Android 中将图像上传到 .Net 网络服务
【发布时间】:2014-09-22 21:32:04
【问题描述】:

我一直在使用这个在服务器上上传图像的 Android 应用程序。我能够使用 PHP 成功上传,但在 .net 网络服务上上传时遇到问题。负责网络服务的人把代码给了我,让我看看。

在这里。

public Stream FileUpload(string fileName, Stream fileStream)
        {
            var serverPath = System.Web.Hosting.HostingEnvironment.MapPath("~/FileUpload/");
            if (File.Exists(serverPath + fileName)) File.Delete(serverPath + fileName); // delete file if already used


            //FileStream fileToupload = new FileStream("D:\\FileUpload\\" + fileName, FileMode.Create);
            FileStream fileToupload = new FileStream(serverPath + fileName, FileMode.Create);

            byte[] bytearray = new byte[10000];//
            int bytesRead, totalBytesRead = 0;
            do
            {
                bytesRead = fileStream.Read(bytearray, 0, bytearray.Length);
                totalBytesRead += bytesRead;
            } while (bytesRead > 0);

            fileToupload.Write(bytearray, 0, bytearray.Length);
            fileToupload.Close();
            fileToupload.Dispose();

            FileStream fs = File.OpenRead(serverPath + fileName);
            WebOperationContext.Current.OutgoingResponse.ContentType = "image/jpeg";
            return fs;

        }

问题是我没有 .net 方面的经验,所以我不确定如何处理这种情况。从上面的参数可以看出,webservice中的上传图片功能似乎使用了fileStream。

编辑

这是我的 java 代码。

HttpResponse httpResponse = null;
        InputStream inputStream;
        try {
            inputStream = new FileInputStream(new File(filePath));
            byte[] data;
            try {
                data = IOUtils.toByteArray(inputStream);

                HttpClient httpClient = new DefaultHttpClient();
                HttpPost httpPost = new HttpPost(
                        "http://localhost/fileUpload");

                InputStreamBody inputStreamBody = new InputStreamBody(
                        new ByteArrayInputStream(data), fileName);
                MultipartEntityBuilder multipartEntity = MultipartEntityBuilder
                        .create();
                multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
                multipartEntity.addPart("file", inputStreamBody);
                HttpEntity entity = multipartEntity.build();
                httpPost.setEntity(entity);
                httpResponse = httpClient.execute(httpPost);

                if (httpResponse != null) {

                } else {

                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }

【问题讨论】:

  • 你得到什么回应?

标签: android web-services androidhttpclient android-webservice


【解决方案1】:

我找到了一个教程here。我没有成功上传文件,但这是另一个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多