2012-11-05 42 views
7

Tôi đang cố gắng đọc tệp từ điện thoại Android đến chia sẻ Windows. Tôi hiện đang sử dụng StreamWriter, như sau:Ứng dụng Chia sẻ/SMB mạng

StreamWriter outfile = new StreamWriter(@"\\10.16.68.253\sam\AllTxtFiles.txt"); 
outfile.WriteLine("TESTGENREOIADNIWAN"); 

Nhưng tôi bị truy cập bị từ chối. Tôi đã thêm quyền vào tệp kê khai. Và tôi đã thử nghiệm chia sẻ bằng cách sử dụng ES File Explorer (với mọi người truy cập). Tôi đã sử dụng cùng một dòng mã trên một ứng dụng WPF và hoạt động tốt, vì vậy vấn đề của tôi là trong ứng dụng Android.

Tôi đã cố gắng thay đổi chuỗi kết nối như ES, smb: //10.16.68.253/sam/AllTxtFiles.txt, nhưng không có may mắn.

Bất kỳ ai hoàn thành điều này?

Tks!

Trả lời

1

đối với tôi Tôi đã phải thiết lập chuỗi như thế này "smb: // username: password @ local ip /" cho thư mục gốc của phần chia sẻ Windows của máy chủ của tôi.

1

Bạn phải đảm bảo kết nối với chia sẻ SMB được xác thực trước khi thử truy cập bất kỳ tệp nào. Bạn phải sử dụng các cuộc gọi API để làm điều này, bởi vì công cụ này được thực hiện trong lớp Win32 bên ngoài mã được quản lý.

Dưới đây là một sự khởi đầu:

http://www.pinvoke.net/default.aspx/mpr/WNetAddConnection.html

0

Bạn có chắc chắn bạn có thể đọc/ghi tập tin sử dụng ESFileExplorer với các điều khoản MỌI NGƯỜI TRUY CẬP? Windows là một hệ điều hành rất bảo mật. Bạn cần cấp quyền cho một cấu hình cụ thể. Ví dụ:

  1. Tạo tên hồ sơ mới trên cửa sổ.
  2. Đặt tên hồ sơ mới cho mật khẩu. (phải có mật khẩu để chia sẻ điều gì đó)
  3. Cấp quyền cho thư mục hoặc tệp để chia sẻ quyền truy cập vào tiểu sử đó bằng mật khẩu.
  4. Truy cập thư mục hoặc tệp bằng cách sử dụng smb cùng với tên người dùng và mật khẩu tiểu sử. Chẳng hạn như "smb: // username: password @ ip địa phương"

    StreamWriter outfile = new StreamWriter(smb:\\username:[email protected]"\\10.16.68.253\sam\AllTxtFiles.txt"); 
    outfile.WriteLine("TESTGENREOIADNIWAN"); 
    
Các vấn đề liên quan